Writing simple contract

    let nominal = Nominal::new("TEST", "Test asset", Precision::CentiMicro);
    let contract_text = ContractText::default();
    let beneficiary = Outpoint::new(
        Txid::from_hex("623554ac1dcd15496c105a27042c438921f2a82873579be88e74d7ef559a3d91").unwrap(), 
        0
    );

    let contract = ContractBuilder::with(
        rgb20(),
        schema(),
        iface_impl()
        ).expect("schema fails to implement RGB20 interface")

        .set_chain(Chain::Testnet3)

        .add_global_state("Nominal", nominal)
        .expect("invalid nominal")

        .add_global_state("ContractText", contract_text)
        .expect("invalid contract text")

        .add_fungible_state("Assets", beneficiary, 1_000_000_0000_0000)
        .expect("invalid asset amount")

        .issue_contract()
        .expect("contract doesn't fit schema requirements");

    let contract_id = contract.contract_id();

    let bindle = contract.bindle();
    bindle.save("examples/rgb20-simplest.contract.rgb").expect("unable to save contract");