Skip to content

Commit f6a8a32

Browse files
committed
simplicity-sys: rename all the C compatibility types
1 parent dd2b704 commit f6a8a32

File tree

3 files changed

+86
-72
lines changed

3 files changed

+86
-72
lines changed

simplicity-sys/src/c_jets/c_env.rs

Lines changed: 53 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pub struct RawOutputData {
2828

2929
#[derive(Debug)]
3030
#[repr(C)]
31-
pub struct CRawBuffer {
31+
pub struct CElementsRawBuffer {
3232
pub ptr: *const c_uchar,
3333
pub len: u32,
3434
}
@@ -56,44 +56,44 @@ pub struct RawTransactionData {
5656

5757
#[derive(Debug)]
5858
#[repr(C)]
59-
pub struct CRawOutput {
59+
pub struct CElementsRawOutput {
6060
asset: *const c_uchar,
6161
value: *const c_uchar,
6262
nonce: *const c_uchar,
63-
script_pubkey: CRawBuffer,
64-
surjection_proof: CRawBuffer,
65-
range_proof: CRawBuffer,
63+
script_pubkey: CElementsRawBuffer,
64+
surjection_proof: CElementsRawBuffer,
65+
range_proof: CElementsRawBuffer,
6666
}
6767

6868
#[derive(Debug)]
6969
#[repr(C)]
70-
pub struct CRawInput {
71-
annex: *const CRawBuffer,
70+
pub struct CElementsRawInput {
71+
annex: *const CElementsRawBuffer,
7272
prev_txid: *const c_uchar,
7373
pegin: *const c_uchar,
7474
// issuance
7575
blinding_nonce: *const c_uchar,
7676
asset_entropy: *const c_uchar,
7777
amount: *const c_uchar,
7878
inflation_keys: *const c_uchar,
79-
amount_range_proof: CRawBuffer,
80-
inflation_keys_range_proof: CRawBuffer,
79+
amount_range_proof: CElementsRawBuffer,
80+
inflation_keys_range_proof: CElementsRawBuffer,
8181
// spent txo
8282
asset: *const c_uchar,
8383
value: *const c_uchar,
84-
script_pubkey: CRawBuffer,
84+
script_pubkey: CElementsRawBuffer,
8585
// inputs
86-
script_sig: CRawBuffer,
86+
script_sig: CElementsRawBuffer,
8787
prev_txout_index: u32,
8888
sequence: u32,
8989
}
9090

9191
#[derive(Debug)]
9292
#[repr(C)]
93-
pub struct CRawTransaction {
93+
pub struct CElementsRawTransaction {
9494
txid: *const c_uchar,
95-
inputs: *const CRawInput,
96-
outputs: *const CRawOutput,
95+
inputs: *const CElementsRawInput,
96+
outputs: *const CElementsRawOutput,
9797
version: u32,
9898
locktime: u32,
9999
n_inputs: u32,
@@ -102,7 +102,7 @@ pub struct CRawTransaction {
102102

103103
#[derive(Debug)]
104104
#[repr(C)]
105-
pub struct CRawTapEnv {
105+
pub struct CElementsRawTapEnv {
106106
control_block: *const c_uchar,
107107
script_cmr: *const c_uchar,
108108
branch_len: u8,
@@ -152,51 +152,51 @@ extern "C" {
152152
pub static c_alignof_txEnv: c_size_t;
153153

154154
#[link_name = "rustsimplicity_0_5_c_set_rawElementsBuffer"]
155-
pub fn c_set_rawElementsBuffer(res: *mut CRawBuffer, buf: *const c_uchar, len: c_uint);
155+
pub fn c_set_rawElementsBuffer(res: *mut CElementsRawBuffer, buf: *const c_uchar, len: c_uint);
156156
#[link_name = "rustsimplicity_0_5_c_set_rawElementsOutput"]
157157
pub fn c_set_rawElementsOutput(
158-
res: *mut CRawOutput,
158+
res: *mut CElementsRawOutput,
159159
asset: *const c_uchar,
160160
value: *const c_uchar,
161161
nonce: *const c_uchar,
162-
scriptPubKey: *const CRawBuffer,
163-
surjectionProof: *const CRawBuffer,
164-
rangeProof: *const CRawBuffer,
162+
scriptPubKey: *const CElementsRawBuffer,
163+
surjectionProof: *const CElementsRawBuffer,
164+
rangeProof: *const CElementsRawBuffer,
165165
);
166166
#[link_name = "rustsimplicity_0_5_c_set_rawElementsInput"]
167167
pub fn c_set_rawElementsInput(
168-
result: *mut CRawInput,
169-
annex: *const CRawBuffer,
168+
result: *mut CElementsRawInput,
169+
annex: *const CElementsRawBuffer,
170170
pegin: *const c_uchar,
171-
scriptSig: *const CRawBuffer,
171+
scriptSig: *const CElementsRawBuffer,
172172
prevTxid: *const c_uchar,
173173
prevIx: c_uint,
174174
asset: *const c_uchar,
175175
value: *const c_uchar,
176-
scriptPubKey: *const CRawBuffer,
176+
scriptPubKey: *const CElementsRawBuffer,
177177
sequence: c_uint,
178178
blindingNonce: *const c_uchar,
179179
assetEntropy: *const c_uchar,
180180
amount: *const c_uchar,
181181
inflationKeys: *const c_uchar,
182-
amountRangePrf: *const CRawBuffer,
183-
inflationKeysRangePrf: *const CRawBuffer,
182+
amountRangePrf: *const CElementsRawBuffer,
183+
inflationKeysRangePrf: *const CElementsRawBuffer,
184184
);
185185

186186
#[link_name = "rustsimplicity_0_5_c_set_rawElementsTransaction"]
187187
pub fn c_set_rawElementsTransaction(
188-
result: *mut CRawTransaction,
188+
result: *mut CElementsRawTransaction,
189189
version: c_uint,
190190
txid: *const c_uchar,
191-
input: *const CRawInput,
191+
input: *const CElementsRawInput,
192192
numInputs: c_uint,
193-
output: *const CRawOutput,
193+
output: *const CElementsRawOutput,
194194
numOutputs: c_uint,
195195
lockTime: c_uint,
196196
);
197197
#[link_name = "rustsimplicity_0_5_c_set_rawElementsTapEnv"]
198198
pub fn c_set_rawElementsTapEnv(
199-
result: *mut CRawTapEnv,
199+
result: *mut CElementsRawTapEnv,
200200
controlBlock: *const c_uchar,
201201
pathLen: c_uchar,
202202
scriptCMR: *const c_uchar,
@@ -210,10 +210,10 @@ extern "C" {
210210
ix: c_uint,
211211
);
212212
#[link_name = "rustsimplicity_0_5_elements_mallocTapEnv"]
213-
pub fn simplicity_elements_mallocTapEnv(rawEnv: *const CRawTapEnv) -> *mut CTapEnv;
213+
pub fn simplicity_elements_mallocTapEnv(rawEnv: *const CElementsRawTapEnv) -> *mut CTapEnv;
214214
#[link_name = "rustsimplicity_0_5_elements_mallocTransaction"]
215215
pub fn simplicity_elements_mallocTransaction(
216-
rawTx: *const CRawTransaction,
216+
rawTx: *const CElementsRawTransaction,
217217
) -> *mut CTransaction;
218218
#[link_name = "rustsimplicity_0_5_c_free_transaction"]
219219
pub fn c_free_transaction(tx: *mut CTransaction);
@@ -237,10 +237,10 @@ impl Drop for CElementsTxEnv {
237237
}
238238
}
239239

240-
impl CRawBuffer {
240+
impl CElementsRawBuffer {
241241
pub fn new(buf: &[c_uchar]) -> Self {
242242
unsafe {
243-
let mut raw_buffer = std::mem::MaybeUninit::<CRawBuffer>::uninit();
243+
let mut raw_buffer = std::mem::MaybeUninit::<Self>::uninit();
244244
c_set_rawElementsBuffer(raw_buffer.as_mut_ptr(), buf.as_ptr(), buf.len() as c_uint);
245245
raw_buffer.assume_init()
246246
}
@@ -257,14 +257,14 @@ mod tests {
257257
fn test_sizes() {
258258
unsafe {
259259
assert_eq!(size_of::<CFrameItem>(), c_sizeof_frameItem);
260-
assert_eq!(size_of::<CRawBuffer>(), c_sizeof_rawElementsBuffer);
261-
assert_eq!(size_of::<CRawInput>(), c_sizeof_rawElementsInput);
262-
assert_eq!(size_of::<CRawOutput>(), c_sizeof_rawElementsOutput);
260+
assert_eq!(size_of::<CElementsRawBuffer>(), c_sizeof_rawElementsBuffer);
261+
assert_eq!(size_of::<CElementsRawInput>(), c_sizeof_rawElementsInput);
262+
assert_eq!(size_of::<CElementsRawOutput>(), c_sizeof_rawElementsOutput);
263263
assert_eq!(
264-
size_of::<CRawTransaction>(),
264+
size_of::<CElementsRawTransaction>(),
265265
c_sizeof_rawElementsTransaction
266266
);
267-
assert_eq!(size_of::<CRawTapEnv>(), c_sizeof_rawElementsTapEnv);
267+
assert_eq!(size_of::<CElementsRawTapEnv>(), c_sizeof_rawElementsTapEnv);
268268
assert_eq!(size_of::<CElementsTxEnv>(), c_sizeof_txEnv);
269269
}
270270
}
@@ -273,14 +273,23 @@ mod tests {
273273
fn test_aligns() {
274274
unsafe {
275275
assert_eq!(align_of::<CFrameItem>(), c_alignof_frameItem);
276-
assert_eq!(align_of::<CRawBuffer>(), c_alignof_rawElementsBuffer);
277-
assert_eq!(align_of::<CRawInput>(), c_alignof_rawElementsInput);
278-
assert_eq!(align_of::<CRawOutput>(), c_alignof_rawElementsOutput);
279276
assert_eq!(
280-
align_of::<CRawTransaction>(),
277+
align_of::<CElementsRawBuffer>(),
278+
c_alignof_rawElementsBuffer
279+
);
280+
assert_eq!(align_of::<CElementsRawInput>(), c_alignof_rawElementsInput);
281+
assert_eq!(
282+
align_of::<CElementsRawOutput>(),
283+
c_alignof_rawElementsOutput
284+
);
285+
assert_eq!(
286+
align_of::<CElementsRawTransaction>(),
281287
c_alignof_rawElementsTransaction
282288
);
283-
assert_eq!(align_of::<CRawTapEnv>(), c_alignof_rawElementsTapEnv);
289+
assert_eq!(
290+
align_of::<CElementsRawTapEnv>(),
291+
c_alignof_rawElementsTapEnv
292+
);
284293
assert_eq!(align_of::<CElementsTxEnv>(), c_alignof_txEnv);
285294
}
286295
}

simplicity-sys/src/c_jets/mod.rs

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ pub use frame_ffi::CFrameItem;
1919
// The bindings use elements_ffi instead of jets_ffi.
2020
pub use jets_ffi as elements_ffi;
2121

22-
use crate::c_jets::c_env::{CRawBuffer, CRawInput, CRawOutput, CRawTapEnv, CRawTransaction};
22+
use crate::c_jets::c_env::{
23+
CElementsRawBuffer, CElementsRawInput, CElementsRawOutput, CElementsRawTapEnv,
24+
CElementsRawTransaction,
25+
};
2326

2427
#[cfg(feature = "test-utils")]
2528
pub mod exec_ffi;
@@ -38,23 +41,25 @@ pub fn sanity_checks() -> bool {
3841
}
3942

4043
if std::mem::size_of::<CFrameItem>() != frame_ffi::c_sizeof_frameItem
41-
|| std::mem::size_of::<CRawBuffer>() != c_env::c_sizeof_rawElementsBuffer
42-
|| std::mem::size_of::<CRawInput>() != c_env::c_sizeof_rawElementsInput
43-
|| std::mem::size_of::<CRawOutput>() != c_env::c_sizeof_rawElementsOutput
44-
|| std::mem::size_of::<CRawTransaction>() != c_env::c_sizeof_rawElementsTransaction
44+
|| std::mem::size_of::<CElementsRawBuffer>() != c_env::c_sizeof_rawElementsBuffer
45+
|| std::mem::size_of::<CElementsRawInput>() != c_env::c_sizeof_rawElementsInput
46+
|| std::mem::size_of::<CElementsRawOutput>() != c_env::c_sizeof_rawElementsOutput
47+
|| std::mem::size_of::<CElementsRawTransaction>()
48+
!= c_env::c_sizeof_rawElementsTransaction
4549
|| std::mem::size_of::<CElementsTxEnv>() != c_env::c_sizeof_txEnv
46-
|| std::mem::size_of::<CRawTapEnv>() != c_env::c_sizeof_rawElementsTapEnv
50+
|| std::mem::size_of::<CElementsRawTapEnv>() != c_env::c_sizeof_rawElementsTapEnv
4751
{
4852
return false;
4953
}
5054

5155
if std::mem::align_of::<CFrameItem>() != frame_ffi::c_alignof_frameItem
52-
|| std::mem::align_of::<CRawBuffer>() != c_env::c_alignof_rawElementsBuffer
53-
|| std::mem::align_of::<CRawInput>() != c_env::c_alignof_rawElementsInput
54-
|| std::mem::align_of::<CRawOutput>() != c_env::c_alignof_rawElementsOutput
55-
|| std::mem::align_of::<CRawTransaction>() != c_env::c_alignof_rawElementsTransaction
56+
|| std::mem::align_of::<CElementsRawBuffer>() != c_env::c_alignof_rawElementsBuffer
57+
|| std::mem::align_of::<CElementsRawInput>() != c_env::c_alignof_rawElementsInput
58+
|| std::mem::align_of::<CElementsRawOutput>() != c_env::c_alignof_rawElementsOutput
59+
|| std::mem::align_of::<CElementsRawTransaction>()
60+
!= c_env::c_alignof_rawElementsTransaction
5661
|| std::mem::align_of::<CElementsTxEnv>() != c_env::c_alignof_txEnv
57-
|| std::mem::align_of::<CRawTapEnv>() != c_env::c_alignof_rawElementsTapEnv
62+
|| std::mem::align_of::<CElementsRawTapEnv>() != c_env::c_alignof_rawElementsTapEnv
5863
{
5964
return false;
6065
}

src/jet/elements/c_env.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ use elements::{
1515
use simplicity_sys::c_jets::c_env::{
1616
c_set_rawElementsInput, c_set_rawElementsOutput, c_set_rawElementsTapEnv,
1717
c_set_rawElementsTransaction, c_set_txEnv, simplicity_elements_mallocTapEnv,
18-
simplicity_elements_mallocTransaction, CElementsTxEnv, CRawBuffer, CRawInput, CRawOutput,
19-
CRawTapEnv, CRawTransaction, CTapEnv, CTransaction, RawInputData, RawOutputData,
20-
RawTransactionData,
18+
simplicity_elements_mallocTransaction, CElementsRawBuffer, CElementsRawInput,
19+
CElementsRawOutput, CElementsRawTapEnv, CElementsRawTransaction, CElementsTxEnv, CTapEnv,
20+
CTransaction, RawInputData, RawOutputData, RawTransactionData,
2121
};
2222

2323
use crate::merkle::cmr::Cmr;
2424

2525
use super::ElementsUtxo;
2626

27-
fn new_raw_output(out: &elements::TxOut, out_data: &RawOutputData) -> CRawOutput {
27+
fn new_raw_output(out: &elements::TxOut, out_data: &RawOutputData) -> CElementsRawOutput {
2828
unsafe {
29-
let mut raw_output = std::mem::MaybeUninit::<CRawOutput>::uninit();
29+
let mut raw_output = std::mem::MaybeUninit::<CElementsRawOutput>::uninit();
3030
c_set_rawElementsOutput(
3131
raw_output.as_mut_ptr(),
3232
asset_ptr(out.asset, &out_data.asset),
@@ -44,9 +44,9 @@ fn new_raw_input(
4444
inp: &elements::TxIn,
4545
in_utxo: &ElementsUtxo,
4646
inp_data: &RawInputData,
47-
) -> CRawInput {
47+
) -> CElementsRawInput {
4848
unsafe {
49-
let mut raw_input = std::mem::MaybeUninit::<CRawInput>::uninit();
49+
let mut raw_input = std::mem::MaybeUninit::<CElementsRawInput>::uninit();
5050

5151
let (issue_nonce_ptr, issue_entropy_ptr, issue_amt_ptr, issue_infl_key_ptr) =
5252
if inp.has_issuance() {
@@ -141,7 +141,7 @@ pub(super) fn new_tx(tx: &elements::Transaction, in_utxos: &[ElementsUtxo]) -> *
141141
raw_outputs.push(new_raw_output(out, out_data));
142142
}
143143
unsafe {
144-
let mut raw_tx = std::mem::MaybeUninit::<CRawTransaction>::uninit();
144+
let mut raw_tx = std::mem::MaybeUninit::<CElementsRawTransaction>::uninit();
145145
c_set_rawElementsTransaction(
146146
raw_tx.as_mut_ptr(),
147147
tx.version as c_uint,
@@ -159,7 +159,7 @@ pub(super) fn new_tx(tx: &elements::Transaction, in_utxos: &[ElementsUtxo]) -> *
159159

160160
pub(super) fn new_tap_env(control_block: &ControlBlock, script_cmr: Cmr) -> *mut CTapEnv {
161161
unsafe {
162-
let mut raw_tap_env = std::mem::MaybeUninit::<CRawTapEnv>::uninit();
162+
let mut raw_tap_env = std::mem::MaybeUninit::<CElementsRawTapEnv>::uninit();
163163
let cb_ser = control_block.serialize();
164164
c_set_rawElementsTapEnv(
165165
raw_tap_env.as_mut_ptr(),
@@ -223,20 +223,20 @@ fn opt_ptr<T>(t: Option<&T>) -> *const T {
223223
}
224224
}
225225

226-
fn script_ptr(script: &elements::Script) -> CRawBuffer {
227-
CRawBuffer::new(script.as_bytes())
226+
fn script_ptr(script: &elements::Script) -> CElementsRawBuffer {
227+
CElementsRawBuffer::new(script.as_bytes())
228228
}
229229

230-
fn annex_ptr(annex: &Option<Vec<c_uchar>>) -> Option<CRawBuffer> {
231-
annex.as_ref().map(|annex| CRawBuffer::new(annex))
230+
fn annex_ptr(annex: &Option<Vec<c_uchar>>) -> Option<CElementsRawBuffer> {
231+
annex.as_ref().map(|annex| CElementsRawBuffer::new(annex))
232232
}
233233

234-
fn surjection_proof_ptr(surjection_proof: &[c_uchar]) -> CRawBuffer {
235-
CRawBuffer::new(surjection_proof)
234+
fn surjection_proof_ptr(surjection_proof: &[c_uchar]) -> CElementsRawBuffer {
235+
CElementsRawBuffer::new(surjection_proof)
236236
}
237237

238-
fn range_proof_ptr(rangeproof: &[c_uchar]) -> CRawBuffer {
239-
CRawBuffer::new(rangeproof)
238+
fn range_proof_ptr(rangeproof: &[c_uchar]) -> CElementsRawBuffer {
239+
CElementsRawBuffer::new(rangeproof)
240240
}
241241

242242
fn serialize_rangeproof(rangeproof: &Option<Box<RangeProof>>) -> Vec<c_uchar> {

0 commit comments

Comments
 (0)