diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 209790a..87b55d5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,6 +46,8 @@ jobs: - name: Install simplex-cli uses: ./.github/actions/setup-smplx + with: + commit-sha: "c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" - name: Generate contract artifacts shell: bash diff --git a/Cargo.lock b/Cargo.lock index 4ccea75..e8bf726 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1492,8 +1492,7 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smplx-build" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f3e2235cc1bb20a5dda4bd32c9be665f39c95f1bcc62d7aa2a9adfc8fb670f" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "glob", "globwalk", @@ -1502,6 +1501,7 @@ dependencies = [ "proc-macro2", "quote", "serde", + "serde_json", "simplicityhl", "syn 2.0.119", "thiserror", @@ -1512,8 +1512,7 @@ dependencies = [ [[package]] name = "smplx-macros" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e1a764666ba1aada361499286710a0d5d7f1a0251d882a0843bb67ae5b7973" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "smplx-build", "smplx-test", @@ -1523,8 +1522,7 @@ dependencies = [ [[package]] name = "smplx-regtest" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60a5ca5ccc0b531f4915f1d044c68b7ba3bc344e84ac019f539b2e488c8c8d7" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "electrsd", "hex", @@ -1539,8 +1537,7 @@ dependencies = [ [[package]] name = "smplx-sdk" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "940acb2e942bda24f3f27c3a387aabcf866dc16299746e79a58b47d091162f5d" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "bip39", "bitcoin_hashes", @@ -1559,8 +1556,7 @@ dependencies = [ [[package]] name = "smplx-std" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcfa462d2e480d1fa6baa382d578501991fd19c3fb15ae5cdd44be362ef5e9ef" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "either", "serde", @@ -1573,8 +1569,7 @@ dependencies = [ [[package]] name = "smplx-test" version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76eab48bbf610aea049644b6aacffebbb194e59c663cd450b1f30a29ead19c1" +source = "git+https://github.com/BlockstreamResearch/smplx.git?rev=c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b#c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" dependencies = [ "electrsd", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 25078a7..bb8698d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ keywords = ["simplicity", "liquid", "elements", "smart-contracts"] categories = ["cryptography::cryptocurrencies"] [dependencies] -smplx-std = "0.0.9" +smplx-std = { git = "https://github.com/BlockstreamResearch/smplx.git", rev = "c9cae5da3ace3e502fc19bda9cf5bd3fb909e49b" } [dev-dependencies] anyhow = { version = "1.0.101" } diff --git a/tests/asserts_test.rs b/tests/asserts_test.rs index e128ce9..94fcee0 100644 --- a/tests/asserts_test.rs +++ b/tests/asserts_test.rs @@ -38,7 +38,7 @@ const DEFAULT_SOME_U128: Option = Some(0); const DEFAULT_SOME_U256: Option<[u8; 32]> = Some([0; 32]); fn program() -> AssertsTestProgram { - AssertsTestProgram::new(AssertsTestArguments {}) + AssertsTestProgram::new(&AssertsTestArguments {}) } /// Returns two values in `[min, max]` that are equal when `same`, distinct otherwise. diff --git a/tests/binary_test.rs b/tests/binary_test.rs index 7bc6f50..2da001e 100644 --- a/tests/binary_test.rs +++ b/tests/binary_test.rs @@ -12,7 +12,7 @@ mod binary_tests { #[simplex::test] fn binary_test(context: simplex::TestContext) -> anyhow::Result<()> { - let program = BinaryTestProgram::new(BinaryTestArguments {}); + let program = BinaryTestProgram::new(&BinaryTestArguments {}); run(&context, program, BinaryTestWitness {}, Expect::Ok) } } diff --git a/tests/op_return_test.rs b/tests/op_return_test.rs index e61268e..4eb2fe1 100644 --- a/tests/op_return_test.rs +++ b/tests/op_return_test.rs @@ -24,7 +24,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_DATA: &[u8; 1] = &[1]; fn program() -> OpReturnTestProgram { - OpReturnTestProgram::new(OpReturnTestArguments {}) + OpReturnTestProgram::new(&OpReturnTestArguments {}) } fn build_witness(function: u8, index: u32, expected: bool) -> OpReturnTestWitness { diff --git a/tests/secp256k1_operations_test.rs b/tests/secp256k1_operations_test.rs index 08b5b87..a834f63 100644 --- a/tests/secp256k1_operations_test.rs +++ b/tests/secp256k1_operations_test.rs @@ -48,7 +48,7 @@ const SECP_N: [u8; 32] = [ ]; fn program() -> Secp256k1OperationsTestProgram { - Secp256k1OperationsTestProgram::new(Secp256k1OperationsTestArguments {}) + Secp256k1OperationsTestProgram::new(&Secp256k1OperationsTestArguments {}) } #[allow(clippy::too_many_arguments)] diff --git a/tests/u128_basic_math_test.rs b/tests/u128_basic_math_test.rs index 133f2bc..77dd7b3 100644 --- a/tests/u128_basic_math_test.rs +++ b/tests/u128_basic_math_test.rs @@ -34,7 +34,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: u128 = 0; fn program() -> U128BasicMathTestProgram { - U128BasicMathTestProgram::new(U128BasicMathTestArguments {}) + U128BasicMathTestProgram::new(&U128BasicMathTestArguments {}) } fn build_witness( diff --git a/tests/u128_convert_test.rs b/tests/u128_convert_test.rs index bf42042..e2d0a22 100644 --- a/tests/u128_convert_test.rs +++ b/tests/u128_convert_test.rs @@ -29,7 +29,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U128ConvertTestProgram { - U128ConvertTestProgram::new(U128ConvertTestArguments {}) + U128ConvertTestProgram::new(&U128ConvertTestArguments {}) } fn build_witness(function: u8, a: u128, expected: [u8; 32]) -> U128ConvertTestWitness { diff --git a/tests/u128_math_test.rs b/tests/u128_math_test.rs index a7ea30f..06e2d98 100644 --- a/tests/u128_math_test.rs +++ b/tests/u128_math_test.rs @@ -19,7 +19,7 @@ impl TestUint for u128 { const MUL_BOUND: u128 = 1 << 64; // 2^(128/2) fn program() -> U128MathTestProgram { - U128MathTestProgram::new(U128MathTestArguments {}) + U128MathTestProgram::new(&U128MathTestArguments {}) } fn witness(op: u8, a: u128, b: u128, expected: Option) -> U128MathTestWitness { diff --git a/tests/u128_test_bits.rs b/tests/u128_test_bits.rs index 5d04898..508d5f7 100644 --- a/tests/u128_test_bits.rs +++ b/tests/u128_test_bits.rs @@ -26,7 +26,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: u128 = 0; fn program() -> U128TestBitsProgram { - U128TestBitsProgram::new(U128TestBitsArguments {}) + U128TestBitsProgram::new(&U128TestBitsArguments {}) } fn build_witness( diff --git a/tests/u128_test_compare.rs b/tests/u128_test_compare.rs index 24e1187..1c7a01e 100644 --- a/tests/u128_test_compare.rs +++ b/tests/u128_test_compare.rs @@ -23,7 +23,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: u128 = 0; fn program() -> U128TestCompareProgram { - U128TestCompareProgram::new(U128TestCompareArguments {}) + U128TestCompareProgram::new(&U128TestCompareArguments {}) } fn build_witness(function: u8, a: u128, b: u128, expected_bool: bool) -> U128TestCompareWitness { diff --git a/tests/u16_convert_test.rs b/tests/u16_convert_test.rs index 56c6a0a..65df71a 100644 --- a/tests/u16_convert_test.rs +++ b/tests/u16_convert_test.rs @@ -26,7 +26,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U16ConvertTestProgram { - U16ConvertTestProgram::new(U16ConvertTestArguments {}) + U16ConvertTestProgram::new(&U16ConvertTestArguments {}) } fn build_witness(function: u8, a: u16, expected: [u8; 32]) -> U16ConvertTestWitness { diff --git a/tests/u16_math_test.rs b/tests/u16_math_test.rs index 88d3ab8..07b4c00 100644 --- a/tests/u16_math_test.rs +++ b/tests/u16_math_test.rs @@ -19,7 +19,7 @@ impl TestUint for u16 { const MUL_BOUND: u16 = 1 << 8; // 2^(16/2) fn program() -> U16MathTestProgram { - U16MathTestProgram::new(U16MathTestArguments {}) + U16MathTestProgram::new(&U16MathTestArguments {}) } fn witness(op: u8, a: u16, b: u16, expected: Option) -> U16MathTestWitness { diff --git a/tests/u1_convert_test.rs b/tests/u1_convert_test.rs index 230acbf..26c743c 100644 --- a/tests/u1_convert_test.rs +++ b/tests/u1_convert_test.rs @@ -26,7 +26,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U1ConvertTestProgram { - U1ConvertTestProgram::new(U1ConvertTestArguments {}) + U1ConvertTestProgram::new(&U1ConvertTestArguments {}) } fn build_witness(function: u8, a: u8, expected: [u8; 32]) -> U1ConvertTestWitness { diff --git a/tests/u256_convert_test.rs b/tests/u256_convert_test.rs index 2f31be6..923c40a 100644 --- a/tests/u256_convert_test.rs +++ b/tests/u256_convert_test.rs @@ -29,7 +29,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U256ConvertTestProgram { - U256ConvertTestProgram::new(U256ConvertTestArguments {}) + U256ConvertTestProgram::new(&U256ConvertTestArguments {}) } fn build_witness(function: u8, a: [u8; 32], expected: [u8; 32]) -> U256ConvertTestWitness { diff --git a/tests/u256_math_test.rs b/tests/u256_math_test.rs index 2d407be..67ebc4a 100644 --- a/tests/u256_math_test.rs +++ b/tests/u256_math_test.rs @@ -22,7 +22,7 @@ impl TestUint for U256Wrapper { const MUL_BOUND: U256Wrapper = U256Wrapper(U256([0, 0, 1, 0])); // 2^(256/2) fn program() -> U256MathTestProgram { - U256MathTestProgram::new(U256MathTestArguments {}) + U256MathTestProgram::new(&U256MathTestArguments {}) } fn witness( diff --git a/tests/u256_test_add.rs b/tests/u256_test_add.rs index f7792f7..2e5bc44 100644 --- a/tests/u256_test_add.rs +++ b/tests/u256_test_add.rs @@ -21,7 +21,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U256TestAddProgram { - U256TestAddProgram::new(U256TestAddArguments {}) + U256TestAddProgram::new(&U256TestAddArguments {}) } fn build_witness( diff --git a/tests/u256_test_bits.rs b/tests/u256_test_bits.rs index ae070e1..c0c78e6 100644 --- a/tests/u256_test_bits.rs +++ b/tests/u256_test_bits.rs @@ -24,7 +24,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U256TestBitsProgram { - U256TestBitsProgram::new(U256TestBitsArguments {}) + U256TestBitsProgram::new(&U256TestBitsArguments {}) } fn build_witness( diff --git a/tests/u256_test_compare.rs b/tests/u256_test_compare.rs index eea807d..560e113 100644 --- a/tests/u256_test_compare.rs +++ b/tests/u256_test_compare.rs @@ -24,7 +24,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: [u8; 32] = [0; 32]; fn program() -> U256TestCompareProgram { - U256TestCompareProgram::new(U256TestCompareArguments {}) + U256TestCompareProgram::new(&U256TestCompareArguments {}) } fn build_witness( diff --git a/tests/u256_test_div.rs b/tests/u256_test_div.rs index 9e04d00..9c36ca9 100644 --- a/tests/u256_test_div.rs +++ b/tests/u256_test_div.rs @@ -25,7 +25,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: [u8; 32] = [0; 32]; fn program() -> U256TestDivProgram { - U256TestDivProgram::new(U256TestDivArguments {}) + U256TestDivProgram::new(&U256TestDivArguments {}) } fn build_witness( diff --git a/tests/u256_test_sub_mul.rs b/tests/u256_test_sub_mul.rs index d6b8006..7c164a5 100644 --- a/tests/u256_test_sub_mul.rs +++ b/tests/u256_test_sub_mul.rs @@ -26,7 +26,7 @@ fn op(o: FunctionToTest) -> u8 { const DEFAULT_EXPECTED: [u8; 32] = [0; 32]; fn program() -> U256TestSubMulProgram { - U256TestSubMulProgram::new(U256TestSubMulArguments {}) + U256TestSubMulProgram::new(&U256TestSubMulArguments {}) } fn build_witness( diff --git a/tests/u32_convert_test.rs b/tests/u32_convert_test.rs index 1ed57be..e7874f0 100644 --- a/tests/u32_convert_test.rs +++ b/tests/u32_convert_test.rs @@ -27,7 +27,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U32ConvertTestProgram { - U32ConvertTestProgram::new(U32ConvertTestArguments {}) + U32ConvertTestProgram::new(&U32ConvertTestArguments {}) } fn build_witness(function: u8, a: u32, expected: [u8; 32]) -> U32ConvertTestWitness { diff --git a/tests/u32_math_test.rs b/tests/u32_math_test.rs index abaedef..2db6eda 100644 --- a/tests/u32_math_test.rs +++ b/tests/u32_math_test.rs @@ -19,7 +19,7 @@ impl TestUint for u32 { const MUL_BOUND: u32 = 1 << 16; // 2^(32/2) fn program() -> U32MathTestProgram { - U32MathTestProgram::new(U32MathTestArguments {}) + U32MathTestProgram::new(&U32MathTestArguments {}) } fn witness(op: u8, a: u32, b: u32, expected: Option) -> U32MathTestWitness { diff --git a/tests/u64_convert_test.rs b/tests/u64_convert_test.rs index 1a847f8..050faaa 100644 --- a/tests/u64_convert_test.rs +++ b/tests/u64_convert_test.rs @@ -28,7 +28,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U64ConvertTestProgram { - U64ConvertTestProgram::new(U64ConvertTestArguments {}) + U64ConvertTestProgram::new(&U64ConvertTestArguments {}) } fn build_witness(function: u8, a: u64, expected: [u8; 32]) -> U64ConvertTestWitness { diff --git a/tests/u64_math_test.rs b/tests/u64_math_test.rs index 91214e6..216b4bf 100644 --- a/tests/u64_math_test.rs +++ b/tests/u64_math_test.rs @@ -19,7 +19,7 @@ impl TestUint for u64 { const MUL_BOUND: u64 = 1 << 32; // 2^(64/2) fn program() -> U64MathTestProgram { - U64MathTestProgram::new(U64MathTestArguments {}) + U64MathTestProgram::new(&U64MathTestArguments {}) } fn witness(op: u8, a: u64, b: u64, expected: Option) -> U64MathTestWitness { diff --git a/tests/u8_convert_test.rs b/tests/u8_convert_test.rs index fac8c88..c44ecd0 100644 --- a/tests/u8_convert_test.rs +++ b/tests/u8_convert_test.rs @@ -26,7 +26,7 @@ fn op(o: FunctionToTest) -> u8 { } fn program() -> U8ConvertTestProgram { - U8ConvertTestProgram::new(U8ConvertTestArguments {}) + U8ConvertTestProgram::new(&U8ConvertTestArguments {}) } fn build_witness(function: u8, a: u8, expected: [u8; 32]) -> U8ConvertTestWitness { diff --git a/tests/u8_math_tests.rs b/tests/u8_math_tests.rs index cc69367..3ff3d7b 100644 --- a/tests/u8_math_tests.rs +++ b/tests/u8_math_tests.rs @@ -19,7 +19,7 @@ impl TestUint for u8 { const MUL_BOUND: u8 = 1 << 4; // 2^(8/2) fn program() -> U8MathTestProgram { - U8MathTestProgram::new(U8MathTestArguments {}) + U8MathTestProgram::new(&U8MathTestArguments {}) } fn witness(op: u8, a: u8, b: u8, expected: Option) -> U8MathTestWitness {