Skip to content

Commit d2c779b

Browse files
committed
tapdb: handle universe commitments flag on seedling read/write
Add support for inserting and fetching the universe commitments flag on the seedling when writing to and reading from the database.
1 parent 53a8555 commit d2c779b

File tree

8 files changed

+106
-77
lines changed

8 files changed

+106
-77
lines changed

tapdb/asset_minting.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,9 @@ func (a *AssetMintingStore) CommitMintingBatch(ctx context.Context,
550550
AssetSupply: int64(seedling.Amount),
551551
AssetMetaID: assetMetaID,
552552
EmissionEnabled: seedling.EnableEmission,
553+
554+
// nolint: lll
555+
UniverseCommitments: seedling.UniverseCommitments,
553556
}
554557

555558
scriptKeyID, err := upsertScriptKey(
@@ -692,6 +695,9 @@ func (a *AssetMintingStore) AddSeedlingsToBatch(ctx context.Context,
692695
AssetSupply: int64(seedling.Amount),
693696
AssetMetaID: assetMetaID,
694697
EmissionEnabled: seedling.EnableEmission,
698+
699+
// nolint: lll
700+
UniverseCommitments: seedling.UniverseCommitments,
695701
}
696702

697703
scriptKeyID, err := upsertScriptKey(
@@ -787,7 +793,8 @@ func fetchAssetSeedlings(ctx context.Context, q PendingAssetStore,
787793
Amount: uint64(
788794
dbSeedling.AssetSupply,
789795
),
790-
EnableEmission: dbSeedling.EmissionEnabled,
796+
EnableEmission: dbSeedling.EmissionEnabled,
797+
UniverseCommitments: dbSeedling.UniverseCommitments,
791798
}
792799

793800
if dbSeedling.TweakedScriptKey != nil {

tapdb/migrations.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const (
2424
// daemon.
2525
//
2626
// NOTE: This MUST be updated when a new migration is added.
27-
LatestMigrationVersion = 40
27+
LatestMigrationVersion = 41
2828
)
2929

3030
// DatabaseBackend is an interface that contains all methods our different

tapdb/sqlc/assets.sql.go

Lines changed: 66 additions & 55 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-- Remove universe commitments flag column from seedling table.
2+
ALTER TABLE asset_seedlings
3+
DROP COLUMN IF EXISTS universe_commitments;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-- Add universe commitments flag column to asset_seedlings table.
2+
ALTER TABLE asset_seedlings
3+
ADD COLUMN universe_commitments BOOLEAN NOT NULL DEFAULT FALSE;

tapdb/sqlc/models.go

Lines changed: 15 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tapdb/sqlc/queries/assets.sql

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,15 @@ WHERE batch_id in (SELECT batch_id FROM target_batch);
5858
INSERT INTO asset_seedlings (
5959
asset_name, asset_type, asset_version, asset_supply, asset_meta_id,
6060
emission_enabled, batch_id, group_genesis_id, group_anchor_id,
61-
script_key_id, group_internal_key_id, group_tapscript_root, delegation_key_id
61+
script_key_id, group_internal_key_id, group_tapscript_root,
62+
delegation_key_id, universe_commitments
6263
) VALUES (
6364
@asset_name, @asset_type, @asset_version, @asset_supply,
6465
@asset_meta_id, @emission_enabled, @batch_id,
6566
sqlc.narg('group_genesis_id'), sqlc.narg('group_anchor_id'),
6667
sqlc.narg('script_key_id'), sqlc.narg('group_internal_key_id'),
67-
@group_tapscript_root, sqlc.narg('delegation_key_id')
68+
@group_tapscript_root, sqlc.narg('delegation_key_id'),
69+
@universe_commitments
6870
);
6971

7072
-- name: FetchSeedlingID :one
@@ -114,14 +116,15 @@ INSERT INTO asset_seedlings(
114116
asset_name, asset_type, asset_version, asset_supply, asset_meta_id,
115117
emission_enabled, batch_id, group_genesis_id, group_anchor_id,
116118
script_key_id, group_internal_key_id, group_tapscript_root,
117-
delegation_key_id
119+
delegation_key_id, universe_commitments
118120
) VALUES (
119121
@asset_name, @asset_type, @asset_version, @asset_supply,
120122
@asset_meta_id, @emission_enabled,
121123
(SELECT key_id FROM target_key_id),
122124
sqlc.narg('group_genesis_id'), sqlc.narg('group_anchor_id'),
123125
sqlc.narg('script_key_id'), sqlc.narg('group_internal_key_id'),
124-
@group_tapscript_root, sqlc.narg('delegation_key_id')
126+
@group_tapscript_root, sqlc.narg('delegation_key_id'),
127+
@universe_commitments
125128
);
126129

127130
-- name: FetchSeedlingsForBatch :many
@@ -150,7 +153,8 @@ SELECT seedling_id, asset_name, asset_type, asset_version, asset_supply,
150153
group_internal_keys.key_index AS group_key_index,
151154
delegation_internal_keys.raw_key AS delegation_key_raw,
152155
delegation_internal_keys.key_family AS delegation_key_fam,
153-
delegation_internal_keys.key_index AS delegation_key_index
156+
delegation_internal_keys.key_index AS delegation_key_index,
157+
universe_commitments
154158
FROM asset_seedlings
155159
LEFT JOIN assets_meta
156160
ON asset_seedlings.asset_meta_id = assets_meta.meta_id

tapdb/sqlc/schemas/generated_schema.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ CREATE TABLE asset_seedlings (
204204

205205
group_anchor_id BIGINT REFERENCES asset_seedlings(seedling_id)
206206
, script_key_id BIGINT REFERENCES script_keys(script_key_id), group_internal_key_id BIGINT REFERENCES internal_keys(key_id), group_tapscript_root BLOB, delegation_key_id
207-
BIGINT REFERENCES internal_keys(key_id));
207+
BIGINT REFERENCES internal_keys(key_id), universe_commitments BOOLEAN NOT NULL DEFAULT FALSE);
208208

209209
CREATE TABLE asset_transfer_inputs (
210210
input_id INTEGER PRIMARY KEY,

0 commit comments

Comments
 (0)