algokit_transact/test_utils/
asset_config.rsuse crate::{Address, AssetConfigTransactionBuilder, Byte32, TransactionHeaderBuilder};
use base64::{prelude::BASE64_STANDARD, Engine};
pub struct AssetConfigTransactionMother {}
impl AssetConfigTransactionMother {
pub fn asset_create() -> AssetConfigTransactionBuilder {
let sender = "KPVZ66IFE7KHQ6623XHTPVS3IL7BXBE3HXQG35J65CVDA54VLRPP4SVOU4"
.parse::<Address>()
.unwrap();
let reserve = "YQTVEPKB4O5F26H76L5I7BA6VGCMRC6P2QSWRKG4KVJLJ62MVYTDJPM6KE"
.parse::<Address>()
.unwrap();
let genesis_hash: Byte32 = BASE64_STANDARD
.decode("wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=")
.unwrap()
.try_into()
.unwrap();
let note = BASE64_STANDARD.decode("eyJuYW1lIjoiRnJhY2N0YWwgVG9rZW4iLCJ1bml0TmFtZSI6IkZSQUNDIiwiZXh0ZXJuYWxfdXJsIjoid3d3LmZyYWNjdGFsbW9uc3RlcnNuZnQuY29tIiwiaW1hZ2VfbWltZXR5cGUiOiJpbWFnZS9wbmciLCJkZXNjcmlwdGlvbiI6IkZyYWNjdGFsIFRva2VucyBhcmUgaW4tZ2FtZSBjdXJyZW5jeSBmb3IgdGhlIEZyYWNjdGFsIE1vbnN0ZXJzIGdhbWUhIn0=").unwrap();
AssetConfigTransactionBuilder::default()
.header(
TransactionHeaderBuilder::default()
.sender(sender.clone())
.fee(1000)
.first_valid(26594258)
.last_valid(26595258)
.genesis_hash(genesis_hash)
.genesis_id("mainnet-v1.0".to_string())
.note(note)
.build()
.unwrap(),
)
.asset_id(0) .total(10000000000)
.decimals(0)
.default_frozen(false)
.asset_name("Fracctal Token".to_string())
.unit_name("FRACC".to_string())
.url("template-ipfs://{ipfscid:0:dag-pb:reserve:sha2-256}".to_string())
.manager(sender.clone())
.reserve(reserve.clone())
.freeze(sender.clone())
.clawback(sender.clone())
.to_owned()
}
pub fn asset_destroy() -> AssetConfigTransactionBuilder {
let sender = "MBX2M6J44LQ22L3FROYRBKUAG4FWENPSLPTI7EBR4ECQ2APDMI6XTENHWQ"
.parse::<Address>()
.unwrap();
let genesis_hash: Byte32 = BASE64_STANDARD
.decode("wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=")
.unwrap()
.try_into()
.unwrap();
let note = BASE64_STANDARD.decode("fSaN7lZKDoU=").unwrap();
AssetConfigTransactionBuilder::default()
.header(
TransactionHeaderBuilder::default()
.sender(sender)
.fee(1000)
.first_valid(6354623)
.last_valid(6355623)
.genesis_hash(genesis_hash)
.note(note)
.build()
.unwrap(),
)
.asset_id(917559) .to_owned()
}
pub fn asset_reconfigure() -> AssetConfigTransactionBuilder {
let sender = "EHYQCYHUC6CIWZLBX5TDTLVJ4SSVE4RRTMKFDCG4Z4Q7QSQ2XWIQPMKBPU"
.parse::<Address>()
.unwrap();
let manager = "EHYQCYHUC6CIWZLBX5TDTLVJ4SSVE4RRTMKFDCG4Z4Q7QSQ2XWIQPMKBPU"
.parse::<Address>()
.unwrap();
let reserve = "POMY37RQ5PYG2NHKEFVDVDKGWZLZ4NHUWUW57CVGZVIPZCTNAFE2JM7XQU"
.parse::<Address>()
.unwrap();
let genesis_hash: Byte32 = BASE64_STANDARD
.decode("wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=")
.unwrap()
.try_into()
.unwrap();
let note = BASE64_STANDARD.decode("eyJzdGFuZGFyZCI6ImFyYzY5IiwiZGVzY3JpcHRpb24iOiJUaGlzIGlzIGEgdmVyaWZpYWJseSBhdXRoZW50aWMgZGlnaXRhbCBoaXN0b3JpY2FsIGFydGlmYWN0IG1pbnRlZCBieSBUaGUgRGF0YSBIaXN0b3J5IE11c2V1bS4gSXQgcmVwcmVzZW50cyBhIE1hZ25pdHVkZSA1LjMgZWFydGhxdWFrZSB3aXRoIElEIHVzNzAwMG05NzYgd2hpY2ggaGFzIGFuIGVwaWNlbnRyZSBub3J0aGVybiBFYXN0IFBhY2lmaWMgUmlzZSBhbmQgb2NjdXJyZWQgYXQgTW9uLCAwMSBBcHIgMjAyNCAxNDo0NToxNiBHTVQuIFRoZSB2ZXJpZmllZCBzb3VyY2Ugb2YgdGhpcyBkYXRhIGFydGlmYWN0IHdhcyB0aGUgVW5pdGVkIFN0YXRlcyBHZW9sb2dpY2FsIFN1cnZleSAoVVNHUykuIEZvciBtb3JlIGluZm9ybWF0aW9uIHZpc2l0IGh0dHBzOi8vZGF0YWhpc3Rvcnkub3JnLy4iLCJleHRlcm5hbF91cmwiOiJodHRwczovL211c2V1bS5kYXRhaGlzdG9yeS5vcmcvZXZlbnQvUVVBS0UvdXM3MDAwbTk3NiIsInByb3BlcnRpZXMiOnsibWFnbml0dWRlIjo1LjMsImNsYXNzIjoiTTUiLCJkZXB0aCI6MTAsImxhdGl0dWRlIjo4LjI1MSwibG9uZ2l0dWRlIjotMTAzLjIyNiwicGxhY2UiOiJub3J0aGVybiBFYXN0IFBhY2lmaWMgUmlzZSIsInNvdXJjZSI6IlVTR1MiLCJzdWJUeXBlIjoiZWFydGhxdWFrZSIsInRpbWUiOiIyMDI0LTA0LTAxVDE0OjQ1OjE2LjEwOVoiLCJ0eXBlIjoicXVha2UiLCJ1cmwiOiJodHRwczovL2VhcnRocXVha2UudXNncy5nb3YvZWFydGhxdWFrZXMvZXZlbnRwYWdlL3VzNzAwMG05NzYifSwibWltZV90eXBlIjoiaW1hZ2UvcG5nIiwiaWQiOiJ1czcwMDBtOTc2IiwidGl0bGUiOiJNIDUuMyAtIG5vcnRoZXJuIEVhc3QgUGFjaWZpYyBSaXNlIn0=").unwrap();
AssetConfigTransactionBuilder::default()
.header(
TransactionHeaderBuilder::default()
.sender(sender)
.fee(1000)
.first_valid(37544842)
.last_valid(37545842)
.genesis_hash(genesis_hash)
.genesis_id("mainnet-v1.0".to_string())
.note(note)
.build()
.unwrap(),
)
.asset_id(1715458296) .manager(manager)
.reserve(reserve)
.to_owned()
}
}