1
1
use crate :: {
2
2
await_tx:: AwaitTx ,
3
3
cardano_keys:: CardanoPaymentSigningKey ,
4
+ csl:: TransactionContext ,
4
5
multisig:: MultiSigSmartContractResult ,
5
- plutus_script,
6
+ plutus_script, scripts_data ,
6
7
versioning_system:: { ScriptData , initialize_script} ,
7
8
} ;
8
9
use ogmios_client:: {
@@ -29,16 +30,25 @@ pub async fn init_ics_scripts<
29
30
client : & T ,
30
31
await_tx : & A ,
31
32
) -> anyhow:: Result < Vec < MultiSigSmartContractResult > > {
33
+ let payment_ctx = TransactionContext :: for_payment_key ( payment_key, client) . await ?;
34
+ let version_oracle = scripts_data:: version_oracle ( genesis_utxo, payment_ctx. network ) ?;
35
+
32
36
let ics_validator = ScriptData :: new (
33
37
"Illiquid Circulation Supply Validator" ,
34
- ILLIQUID_CIRCULATION_SUPPLY_VALIDATOR . 0 . to_vec ( ) ,
38
+ plutus_script ! [
39
+ ILLIQUID_CIRCULATION_SUPPLY_VALIDATOR ,
40
+ version_oracle. policy_id_as_plutus_data( )
41
+ ] ?
42
+ . bytes
43
+ . to_vec ( ) ,
35
44
ScriptId :: IlliquidCirculationSupplyValidator ,
36
45
) ;
37
46
let ics_auth_token_policy = ScriptData :: new (
38
47
"Illiquid Circulation Supply Auth Token Policy" ,
39
48
plutus_script ! [
40
49
ILLIQUID_CIRCULATION_SUPPLY_AUTHORITY_TOKEN_POLICY ,
41
- ScriptId :: IlliquidCirculationSupplyAuthorityTokenPolicy
50
+ ScriptId :: IlliquidCirculationSupplyAuthorityTokenPolicy ,
51
+ version_oracle. policy_id_as_plutus_data( )
42
52
] ?
43
53
. bytes
44
54
. to_vec ( ) ,
0 commit comments