@@ -1,6 +1,6 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use pallas::ledger::primitives::babbage::Language;
|
||||
use pallas::ledger::primitives::conway::Language;
|
||||
|
||||
use crate::builtins::DefaultFunction;
|
||||
|
||||
@@ -2188,7 +2188,187 @@ pub fn initialize_cost_model(version: &Language, costs: &[i64]) -> CostModel {
|
||||
"verify_schnorr_secp256k1_signature-mem-arguments"=> costs[174]
|
||||
}
|
||||
}
|
||||
Language::PlutusV3 => {
|
||||
hashmap! {
|
||||
"add_integer-cpu-arguments-intercept"=> costs[0],
|
||||
"add_integer-cpu-arguments-slope"=> costs[1],
|
||||
"add_integer-mem-arguments-intercept"=> costs[2],
|
||||
"add_integer-mem-arguments-slope"=> costs[3],
|
||||
"append_byte_string-cpu-arguments-intercept"=> costs[4],
|
||||
"append_byte_string-cpu-arguments-slope"=> costs[5],
|
||||
"append_byte_string-mem-arguments-intercept"=> costs[6],
|
||||
"append_byte_string-mem-arguments-slope"=> costs[7],
|
||||
"append_string-cpu-arguments-intercept"=> costs[8],
|
||||
"append_string-cpu-arguments-slope"=> costs[9],
|
||||
"append_string-mem-arguments-intercept"=> costs[10],
|
||||
"append_string-mem-arguments-slope"=> costs[11],
|
||||
"b_data-cpu-arguments"=> costs[12],
|
||||
"b_data-mem-arguments"=> costs[13],
|
||||
"blake2b_256-cpu-arguments-intercept"=> costs[14],
|
||||
"blake2b_256-cpu-arguments-slope"=> costs[15],
|
||||
"blake2b_256-mem-arguments"=> costs[16],
|
||||
"cek_apply_cost-exBudgetCPU"=> costs[17],
|
||||
"cek_apply_cost-exBudgetmem"=> costs[18],
|
||||
"cek_builtin_cost-exBudgetCPU"=> costs[19],
|
||||
"cek_builtin_cost-exBudgetmem"=> costs[20],
|
||||
"cek_const_cost-exBudgetCPU"=> costs[21],
|
||||
"cek_const_cost-exBudgetmem"=> costs[22],
|
||||
"cek_delay_cost-exBudgetCPU"=> costs[23],
|
||||
"cek_delay_cost-exBudgetmem"=> costs[24],
|
||||
"cek_force_cost-exBudgetCPU"=> costs[25],
|
||||
"cek_force_cost-exBudgetmem"=> costs[26],
|
||||
"cek_lam_cost-exBudgetCPU"=> costs[27],
|
||||
"cek_lam_cost-exBudgetmem"=> costs[28],
|
||||
"cek_startup_cost-exBudgetCPU"=> costs[29],
|
||||
"cek_startup_cost-exBudgetmem"=> costs[30],
|
||||
"cek_var_cost-exBudgetCPU"=> costs[31],
|
||||
"cek_var_cost-exBudgetmem"=> costs[32],
|
||||
"choose_data-cpu-arguments"=> costs[33],
|
||||
"choose_data-mem-arguments"=> costs[34],
|
||||
"choose_list-cpu-arguments"=> costs[35],
|
||||
"choose_list-mem-arguments"=> costs[36],
|
||||
"choose_unit-cpu-arguments"=> costs[37],
|
||||
"choose_unit-mem-arguments"=> costs[38],
|
||||
"cons_byte_string-cpu-arguments-intercept"=> costs[39],
|
||||
"cons_byte_string-cpu-arguments-slope"=> costs[40],
|
||||
"cons_byte_string-mem-arguments-intercept"=> costs[41],
|
||||
"cons_byte_string-mem-arguments-slope"=> costs[42],
|
||||
"constr_data-cpu-arguments"=> costs[43],
|
||||
"constr_data-mem-arguments"=> costs[44],
|
||||
"decode_utf8-cpu-arguments-intercept"=> costs[45],
|
||||
"decode_utf8-cpu-arguments-slope"=> costs[46],
|
||||
"decode_utf8-mem-arguments-intercept"=> costs[47],
|
||||
"decode_utf8-mem-arguments-slope"=> costs[48],
|
||||
"divide_integer-cpu-arguments-constant"=> costs[49],
|
||||
"divide_integer-cpu-arguments-model-arguments-intercept"=> costs[50],
|
||||
"divide_integer-cpu-arguments-model-arguments-slope"=> costs[51],
|
||||
"divide_integer-mem-arguments-intercept"=> costs[52],
|
||||
"divide_integer-mem-arguments-minimum"=> costs[53],
|
||||
"divide_integer-mem-arguments-slope"=> costs[54],
|
||||
"encode_utf8-cpu-arguments-intercept"=> costs[55],
|
||||
"encode_utf8-cpu-arguments-slope"=> costs[56],
|
||||
"encode_utf8-mem-arguments-intercept"=> costs[57],
|
||||
"encode_utf8-mem-arguments-slope"=> costs[58],
|
||||
"equals_byte_string-cpu-arguments-constant"=> costs[59],
|
||||
"equals_byte_string-cpu-arguments-intercept"=> costs[60],
|
||||
"equals_byte_string-cpu-arguments-slope"=> costs[61],
|
||||
"equals_byte_string-mem-arguments"=> costs[62],
|
||||
"equals_data-cpu-arguments-intercept"=> costs[63],
|
||||
"equals_data-cpu-arguments-slope"=> costs[64],
|
||||
"equals_data-mem-arguments"=> costs[65],
|
||||
"equals_integer-cpu-arguments-intercept"=> costs[66],
|
||||
"equals_integer-cpu-arguments-slope"=> costs[67],
|
||||
"equals_integer-mem-arguments"=> costs[68],
|
||||
"equals_string-cpu-arguments-constant"=> costs[69],
|
||||
"equals_string-cpu-arguments-intercept"=> costs[70],
|
||||
"equals_string-cpu-arguments-slope"=> costs[71],
|
||||
"equals_string-mem-arguments"=> costs[72],
|
||||
"fst_pair-cpu-arguments"=> costs[73],
|
||||
"fst_pair-mem-arguments"=> costs[74],
|
||||
"head_list-cpu-arguments"=> costs[75],
|
||||
"head_list-mem-arguments"=> costs[76],
|
||||
"i_data-cpu-arguments"=> costs[77],
|
||||
"i_data-mem-arguments"=> costs[78],
|
||||
"if_then_else-cpu-arguments"=> costs[79],
|
||||
"if_then_else-mem-arguments"=> costs[80],
|
||||
"index_byte_string-cpu-arguments"=> costs[81],
|
||||
"index_byte_string-mem-arguments"=> costs[82],
|
||||
"length_of_byte_string-cpu-arguments"=> costs[83],
|
||||
"length_of_byte_string-mem-arguments"=> costs[84],
|
||||
"less_than_byte_string-cpu-arguments-intercept"=> costs[85],
|
||||
"less_than_byte_string-cpu-arguments-slope"=> costs[86],
|
||||
"less_than_byte_string-mem-arguments"=> costs[87],
|
||||
"less_than_equals_byte_string-cpu-arguments-intercept"=> costs[88],
|
||||
"less_than_equals_byte_string-cpu-arguments-slope"=> costs[89],
|
||||
"less_than_equals_byte_string-mem-arguments"=> costs[90],
|
||||
"less_than_equals_integer-cpu-arguments-intercept"=> costs[91],
|
||||
"less_than_equals_integer-cpu-arguments-slope"=> costs[92],
|
||||
"less_than_equals_integer-mem-arguments"=> costs[93],
|
||||
"less_than_integer-cpu-arguments-intercept"=> costs[94],
|
||||
"less_than_integer-cpu-arguments-slope"=> costs[95],
|
||||
"less_than_integer-mem-arguments"=> costs[96],
|
||||
"list_data-cpu-arguments"=> costs[97],
|
||||
"list_data-mem-arguments"=> costs[98],
|
||||
"map_data-cpu-arguments"=> costs[99],
|
||||
"map_data-mem-arguments"=> costs[100],
|
||||
"mk_cons-cpu-arguments"=> costs[101],
|
||||
"mk_cons-mem-arguments"=> costs[102],
|
||||
"mk_nil_data-cpu-arguments"=> costs[103],
|
||||
"mk_nil_data-mem-arguments"=> costs[104],
|
||||
"mk_nil_pair_data-cpu-arguments"=> costs[105],
|
||||
"mk_nil_pair_data-mem-arguments"=> costs[106],
|
||||
"mk_pair_data-cpu-arguments"=> costs[107],
|
||||
"mk_pair_data-mem-arguments"=> costs[108],
|
||||
"mod_integer-cpu-arguments-constant"=> costs[109],
|
||||
"mod_integer-cpu-arguments-model-arguments-intercept"=> costs[110],
|
||||
"mod_integer-cpu-arguments-model-arguments-slope"=> costs[111],
|
||||
"mod_integer-mem-arguments-intercept"=> costs[112],
|
||||
"mod_integer-mem-arguments-minimum"=> costs[113],
|
||||
"mod_integer-mem-arguments-slope"=> costs[114],
|
||||
"multiply_integer-cpu-arguments-intercept"=> costs[115],
|
||||
"multiply_integer-cpu-arguments-slope"=> costs[116],
|
||||
"multiply_integer-mem-arguments-intercept"=> costs[117],
|
||||
"multiply_integer-mem-arguments-slope"=> costs[118],
|
||||
"null_list-cpu-arguments"=> costs[119],
|
||||
"null_list-mem-arguments"=> costs[120],
|
||||
"quotient_integer-cpu-arguments-constant"=> costs[121],
|
||||
"quotient_integer-cpu-arguments-model-arguments-intercept"=> costs[122],
|
||||
"quotient_integer-cpu-arguments-model-arguments-slope"=> costs[123],
|
||||
"quotient_integer-mem-arguments-intercept"=> costs[124],
|
||||
"quotient_integer-mem-arguments-minimum"=> costs[125],
|
||||
"quotient_integer-mem-arguments-slope"=> costs[126],
|
||||
"remainder_integer-cpu-arguments-constant"=> costs[127],
|
||||
"remainder_integer-cpu-arguments-model-arguments-intercept"=> costs[128],
|
||||
"remainder_integer-cpu-arguments-model-arguments-slope"=> costs[129],
|
||||
"remainder_integer-mem-arguments-intercept"=> costs[130],
|
||||
"remainder_integer-mem-arguments-minimum"=> costs[131],
|
||||
"remainder_integer-mem-arguments-slope"=> costs[132],
|
||||
"serialise_data-cpu-arguments-intercept"=> costs[133],
|
||||
"serialise_data-cpu-arguments-slope"=> costs[134],
|
||||
"serialise_data-mem-arguments-intercept"=> costs[135],
|
||||
"serialise_data-mem-arguments-slope"=> costs[136],
|
||||
"sha2_256-cpu-arguments-intercept"=> costs[137],
|
||||
"sha2_256-cpu-arguments-slope"=> costs[138],
|
||||
"sha2_256-mem-arguments"=> costs[139],
|
||||
"sha3_256-cpu-arguments-intercept"=> costs[140],
|
||||
"sha3_256-cpu-arguments-slope"=> costs[141],
|
||||
"sha3_256-mem-arguments"=> costs[142],
|
||||
"slice_byte_string-cpu-arguments-intercept"=> costs[143],
|
||||
"slice_byte_string-cpu-arguments-slope"=> costs[144],
|
||||
"slice_byte_string-mem-arguments-intercept"=> costs[145],
|
||||
"slice_byte_string-mem-arguments-slope"=> costs[146],
|
||||
"snd_pair-cpu-arguments"=> costs[147],
|
||||
"snd_pair-mem-arguments"=> costs[148],
|
||||
"subtract_integer-cpu-arguments-intercept"=> costs[149],
|
||||
"subtract_integer-cpu-arguments-slope"=> costs[150],
|
||||
"subtract_integer-mem-arguments-intercept"=> costs[151],
|
||||
"subtract_integer-mem-arguments-slope"=> costs[152],
|
||||
"tail_list-cpu-arguments"=> costs[153],
|
||||
"tail_list-mem-arguments"=> costs[154],
|
||||
"trace-cpu-arguments"=> costs[155],
|
||||
"trace-mem-arguments"=> costs[156],
|
||||
"un_b_data-cpu-arguments"=> costs[157],
|
||||
"un_b_data-mem-arguments"=> costs[158],
|
||||
"un_constr_data-cpu-arguments"=> costs[159],
|
||||
"un_constr_data-mem-arguments"=> costs[160],
|
||||
"un_i_data-cpu-arguments"=> costs[161],
|
||||
"un_i_data-mem-arguments"=> costs[162],
|
||||
"un_list_data-cpu-arguments"=> costs[163],
|
||||
"un_list_data-mem-arguments"=> costs[164],
|
||||
"un_map_data-cpu-arguments"=> costs[165],
|
||||
"un_map_data-mem-arguments"=> costs[166],
|
||||
"verify_ecdsa_secp256k1_signature-cpu-arguments"=> costs[167],
|
||||
"verify_ecdsa_secp256k1_signature-mem-arguments"=> costs[168],
|
||||
"verify_ed25519_signature-cpu-arguments-intercept"=> costs[169],
|
||||
"verify_ed25519_signature-cpu-arguments-slope"=> costs[170],
|
||||
"verify_ed25519_signature-mem-arguments"=> costs[171],
|
||||
"verify_schnorr_secp256k1_signature-cpu-arguments-intercept"=> costs[172],
|
||||
"verify_schnorr_secp256k1_signature-cpu-arguments-slope"=> costs[173],
|
||||
"verify_schnorr_secp256k1_signature-mem-arguments"=> costs[174]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CostModel {
|
||||
machine_costs: MachineCosts {
|
||||
startup: ExBudget {
|
||||
|
||||
@@ -4,7 +4,7 @@ use num_bigint::BigInt;
|
||||
use num_integer::Integer;
|
||||
use num_traits::{Signed, Zero};
|
||||
use once_cell::sync::Lazy;
|
||||
use pallas::ledger::primitives::babbage::{Language, PlutusData};
|
||||
use pallas::ledger::primitives::conway::{Language, PlutusData};
|
||||
|
||||
use crate::{
|
||||
ast::{Constant, Data, Type},
|
||||
|
||||
Reference in New Issue
Block a user