Skip to content

Commit 2b4ff7f

Browse files
riptlripatel-fd
authored andcommitted
runtime: port txn_account_init_from_funk_readonly to accdb
1 parent a1c1638 commit 2b4ff7f

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

src/flamenco/runtime/fd_txn_account.c

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -122,27 +122,26 @@ fd_txn_account_init_from_funk_readonly( fd_txn_account_t * acct,
122122
fd_pubkey_t const * pubkey,
123123
fd_funk_t const * funk,
124124
fd_funk_txn_xid_t const * xid ) {
125+
fd_accdb_user_t accdb[1];
126+
fd_accdb_user_v1_init( accdb, funk->shmem );
125127

126-
int err = FD_ACC_MGR_SUCCESS;
127-
fd_account_meta_t const * meta = fd_funk_get_acc_meta_readonly(
128-
funk,
129-
xid,
130-
pubkey,
131-
NULL,
132-
&err,
133-
NULL );
134-
135-
if( FD_UNLIKELY( err!=FD_ACC_MGR_SUCCESS ) ) {
136-
return err;
128+
fd_accdb_ro_t ro[1];
129+
if( FD_UNLIKELY( !fd_accdb_open_ro( accdb, ro, xid, pubkey ) ) ) {
130+
fd_accdb_user_fini( accdb );
131+
return FD_ACC_MGR_ERR_UNKNOWN_ACCOUNT;
137132
}
138133

134+
/* HACKY: Convert accdb_rw writable reference into txn_account.
135+
In the future, use fd_accdb_modify_publish instead */
136+
accdb->base.ro_active--;
139137
if( FD_UNLIKELY( !fd_txn_account_new(
140138
acct,
141139
pubkey,
142-
(fd_account_meta_t *)meta,
140+
(fd_account_meta_t *)ro->meta,
143141
0 ) ) ) {
144142
FD_LOG_CRIT(( "Failed to join txn account" ));
145143
}
144+
fd_accdb_user_fini( accdb );
146145

147146
return FD_ACC_MGR_SUCCESS;
148147
}
@@ -425,13 +424,3 @@ void
425424
fd_txn_account_set_mutable( fd_txn_account_t * acct ) {
426425
acct->is_mutable = 1;
427426
}
428-
429-
fd_solana_account_meta_t
430-
fd_txn_account_get_solana_meta( fd_txn_account_t const * acct ) {
431-
fd_solana_account_meta_t meta = {
432-
.lamports = acct->meta->lamports,
433-
.executable = acct->meta->executable,
434-
};
435-
memcpy( meta.owner, acct->meta->owner, sizeof(fd_pubkey_t) );
436-
return meta;
437-
}

0 commit comments

Comments
 (0)