Commit Graph

94 Commits

Author SHA1 Message Date
parazyd
9cf3fee6ac runtime: Make all WASM opcodes cost 1 unit, clean up gas_info. 2023-06-05 17:31:19 +02:00
parazyd
c129ab4cb3 runtime: Add sanity_check function for checking WASM bincode. 2023-05-30 11:38:18 +02:00
parazyd
89666c0849 runtime: Add TODO on using sled-overlay for deploy() 2023-05-30 00:29:13 +02:00
aggstam
1bd504eaa0 util/time/TimeKeeper: added verifying slot attribute that can be used by the runtime for validations 2023-05-17 16:03:24 +03:00
aggstam
3943ad27af sdk: replaced db_get_slot_checkpoint with get_slot_checkpoint and moved to util 2023-05-04 21:11:38 +03:00
aggstam
96a834eef5 src/contract/consensus: constrain slot lottery parameters 2023-05-04 21:11:38 +03:00
aggstam
040a5d5604 sdk/util: replaced get_system_time with get_blockchain_time, get_current_epoch and get_current_slot added 2023-04-29 01:52:15 +03:00
aggstam
01dad53892 consensus: created helper struct for all time related calculations, for easier access by the runtime 2023-04-29 00:52:11 +03:00
aggstam
3fb92f5cd7 sdk/util/get_system_time(): set time value as u64 and minor cleanup 2023-04-28 23:28:03 +03:00
aggstam
fc6c6e6551 sdk: implemented get_system_time for use inside wasm 2023-04-28 19:51:10 +03:00
aggstam
cd6dc23598 drk-darkfid: added subscribe to listen for erroneous transactions 2023-03-21 16:24:05 +02:00
parazyd
7fbd8af5b5 runtime/db: Remove spammy error from log. 2023-03-18 21:36:46 +01:00
aggstam
4e305bd69d WIP runtime: remove Batches logic, write directly to overlay 2023-03-16 19:12:58 +02:00
aggstam
9a74979141 WIP runtime: use an overlay over Blockchain
This allows us to use a sled-overlay over the original Blockchain sled db, so we can validate transactions execution without actually writting to it. Tests pass, but its far from ready. Cleaning, some todos and erroneous txs handling still missing.
2023-03-16 02:42:10 +02:00
aggstam
d841ad9fe1 runtime::write_batches: dont' return the mutable env 2023-03-09 20:15:55 +02:00
aggstam
7d3090f1ed runtime: Make all the writes atomic in a transaction over all trees 2023-03-09 19:59:46 +02:00
parazyd
7bfd17b8cf runtime/db: Disallow init/lookup of zkas db. 2023-03-09 11:57:50 +01:00
parazyd
473d2f8707 consensus: Dynamically load VerifyingKey for zkas circuits from sled. 2023-03-06 18:33:53 +01:00
parazyd
740ce9fa52 Move SMART_CONTRACT_ZKAS_DB_NAME constant to the wasm runtime module. 2023-03-06 18:33:52 +01:00
parazyd
c5ad486a09 sdk: Implement zkas_db_set for use inside wasm. 2023-03-06 18:33:52 +01:00
parazyd
6fda2f9142 runtime/db: Implement zkas_db_set
This is used specifically for zkas circuits bundled with the WASM
contracts. If necessary, the functions will also create and serialize
VerifyingKey objects needed to verify proofs using the given circuit
and store them in the database for later reference.

We rely on the assumption that `deploy()` will do the db init or
lookup before running so the zkas db handle is always index zero.
2023-03-06 18:33:52 +01:00
parazyd
fd280c6513 runtime: Initialize or lookup a zkas db when running contract deployment. 2023-03-06 18:33:52 +01:00
parazyd
db1908d07e runtime: Add documentation for metadata function. 2023-02-25 14:20:31 +01:00
parazyd
b30843c12c runtime/db: Move the section restriction to the top of functions. 2023-02-25 14:20:29 +01:00
parazyd
fe11151ba9 rustdoc lints 2023-01-18 12:54:32 +01:00
x
9caa49ffa8 disable cursor checks in db_* since it uses an unstable rust feature 2023-01-05 13:45:25 +01:00
x
4c056ceb86 implement dao::exec() update, and add missing db_del() to runtime 2023-01-05 11:02:55 +01:00
x
acb2131747 fix broken log targets 2023-01-02 15:46:19 +01:00
x
988a622403 Revert "missing log targets"
This reverts commit 6414d55b7e.
2023-01-02 15:17:07 +01:00
x
6414d55b7e missing log targets 2023-01-02 15:15:48 +01:00
x
5702976798 cleanup logging project wide 2023-01-02 14:47:55 +01:00
parazyd
71cd3064d6 Update license year. 2022-12-28 13:06:00 +01:00
parazyd
9acfed6402 Clippy lints. 2022-12-14 12:30:27 +01:00
parazyd
905586a638 cargo fix 2022-12-07 12:53:52 +01:00
parazyd
2854beb2b2 contract/money: Working darkotc integration tests. 2022-12-05 23:57:14 +01:00
parazyd
56628ade87 runtime: Allow db_get in Deploy section. 2022-11-29 16:28:01 +01:00
parazyd
e8ebb9d240 Faucet airdrop implementations and interaction with drk.
Transaction verification from state.rs still has some issue on wasm execution.
A proper verification API has to be written next to simplify things, avoid
convoluted code repetition, and have less places where things can go wrong.
2022-11-23 20:45:59 +01:00
parazyd
fec2304dd8 contract/money: Implement transaction builder. 2022-11-17 20:29:38 +01:00
parazyd
84caaf2c3a runtime: Add wasm bincode to WasmStore after successful deploy execution. 2022-11-16 14:26:37 +01:00
parazyd
72f345e6de contrib: Add script for attaching missing license headers to .rs files. 2022-11-15 22:14:28 +01:00
parazyd
fe611fbbcd consensus: Deploy native money contract on startup. 2022-11-15 19:33:34 +01:00
parazyd
17e5d01b18 sdk/db: Constant error codes for db 2022-11-15 18:56:01 +01:00
parazyd
9c0a0e1c10 runtime: Add db.contains_key functionality. 2022-11-15 17:10:54 +01:00
x
a32d72754b dao2 verify zk proofs 2022-11-08 12:41:06 +00:00
parazyd
8c27c24473 make fix 2022-11-06 21:29:06 +01:00
parazyd
f2dd798f2d Clear up most warnings and have test units pass. 2022-11-06 21:17:36 +01:00
x
f8d2790bb7 dao2: working merkle_add() 2022-11-06 18:24:41 +00:00
x
14807bcde6 initial basic dao mint in wasm 2022-11-06 17:39:05 +00:00
x
237d733a83 wasm: give get_metadata() access to db_get() 2022-11-06 12:26:29 +00:00
x
f2aac746cb remove get access from update and deploy functions 2022-11-06 01:22:15 +00:00