@@ -124,6 +124,109 @@ pub fn get_tx_field(
124124 Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
125125}
126126
127+ pub fn get_tx_field2 (
128+ _data_provider : & mut DataProvider ,
129+ _inst : & mut Instance ,
130+ _caller : & mut CallingFrame ,
131+ _inputs : Vec < WasmValue > ,
132+ ) -> Result < Vec < WasmValue > , CoreError > {
133+ let field: i32 = _inputs[ 0 ] . to_i32 ( ) ;
134+ let field2: i32 = _inputs[ 1 ] . to_i32 ( ) ;
135+ let out_buf_ptr: i32 = _inputs[ 2 ] . to_i32 ( ) ;
136+ let out_buf_cap: i32 = _inputs[ 3 ] . to_i32 ( ) ;
137+ let dp_res =
138+ _data_provider. get_field_value ( DataSource :: Tx , vec ! [ field, field2] , out_buf_cap as usize ) ;
139+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
140+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
141+ }
142+
143+ pub fn get_tx_field3 (
144+ _data_provider : & mut DataProvider ,
145+ _inst : & mut Instance ,
146+ _caller : & mut CallingFrame ,
147+ _inputs : Vec < WasmValue > ,
148+ ) -> Result < Vec < WasmValue > , CoreError > {
149+ let field: i32 = _inputs[ 0 ] . to_i32 ( ) ;
150+ let field2: i32 = _inputs[ 1 ] . to_i32 ( ) ;
151+ let field3: i32 = _inputs[ 2 ] . to_i32 ( ) ;
152+ let out_buf_ptr: i32 = _inputs[ 3 ] . to_i32 ( ) ;
153+ let out_buf_cap: i32 = _inputs[ 4 ] . to_i32 ( ) ;
154+ let dp_res = _data_provider. get_field_value (
155+ DataSource :: Tx ,
156+ vec ! [ field, field2, field3] ,
157+ out_buf_cap as usize ,
158+ ) ;
159+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
160+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
161+ }
162+
163+ pub fn get_tx_field4 (
164+ _data_provider : & mut DataProvider ,
165+ _inst : & mut Instance ,
166+ _caller : & mut CallingFrame ,
167+ _inputs : Vec < WasmValue > ,
168+ ) -> Result < Vec < WasmValue > , CoreError > {
169+ let field: i32 = _inputs[ 0 ] . to_i32 ( ) ;
170+ let field2: i32 = _inputs[ 1 ] . to_i32 ( ) ;
171+ let field3: i32 = _inputs[ 2 ] . to_i32 ( ) ;
172+ let field4: i32 = _inputs[ 3 ] . to_i32 ( ) ;
173+ let out_buf_ptr: i32 = _inputs[ 4 ] . to_i32 ( ) ;
174+ let out_buf_cap: i32 = _inputs[ 5 ] . to_i32 ( ) ;
175+ let dp_res = _data_provider. get_field_value (
176+ DataSource :: Tx ,
177+ vec ! [ field, field2, field3, field4] ,
178+ out_buf_cap as usize ,
179+ ) ;
180+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
181+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
182+ }
183+
184+ pub fn get_tx_field5 (
185+ _data_provider : & mut DataProvider ,
186+ _inst : & mut Instance ,
187+ _caller : & mut CallingFrame ,
188+ _inputs : Vec < WasmValue > ,
189+ ) -> Result < Vec < WasmValue > , CoreError > {
190+ let field: i32 = _inputs[ 0 ] . to_i32 ( ) ;
191+ let field2: i32 = _inputs[ 1 ] . to_i32 ( ) ;
192+ let field3: i32 = _inputs[ 2 ] . to_i32 ( ) ;
193+ let field4: i32 = _inputs[ 3 ] . to_i32 ( ) ;
194+ let field5: i32 = _inputs[ 4 ] . to_i32 ( ) ;
195+ let out_buf_ptr: i32 = _inputs[ 5 ] . to_i32 ( ) ;
196+ let out_buf_cap: i32 = _inputs[ 6 ] . to_i32 ( ) ;
197+ let dp_res = _data_provider. get_field_value (
198+ DataSource :: Tx ,
199+ vec ! [ field, field2, field3, field4, field5] ,
200+ out_buf_cap as usize ,
201+ ) ;
202+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
203+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
204+ }
205+
206+ pub fn get_tx_field6 (
207+ _data_provider : & mut DataProvider ,
208+ _inst : & mut Instance ,
209+ _caller : & mut CallingFrame ,
210+ _inputs : Vec < WasmValue > ,
211+ ) -> Result < Vec < WasmValue > , CoreError > {
212+ let field: i32 = _inputs[ 0 ] . to_i32 ( ) ;
213+ let field2: i32 = _inputs[ 1 ] . to_i32 ( ) ;
214+ let field3: i32 = _inputs[ 2 ] . to_i32 ( ) ;
215+ let field4: i32 = _inputs[ 3 ] . to_i32 ( ) ;
216+ let field5: i32 = _inputs[ 4 ] . to_i32 ( ) ;
217+ let field6: i32 = _inputs[ 5 ] . to_i32 ( ) ;
218+
219+ let out_buf_ptr: i32 = _inputs[ 6 ] . to_i32 ( ) ;
220+ let out_buf_cap: i32 = _inputs[ 7 ] . to_i32 ( ) ;
221+ let dp_res = _data_provider. get_field_value (
222+ DataSource :: Tx ,
223+ vec ! [ field, field2, field3, field4, field5, field6] ,
224+ out_buf_cap as usize ,
225+ ) ;
226+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
227+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
228+ }
229+
127230pub fn get_current_ledger_obj_field (
128231 _data_provider : & mut DataProvider ,
129232 _inst : & mut Instance ,
@@ -480,3 +583,23 @@ pub fn oracle_keylet(
480583 set_data ( keylet_hash. len ( ) as i32 , out_buf_ptr, keylet_hash, _caller) ?;
481584 Ok ( vec ! [ WasmValue :: from_i32( HASH256_LEN as i32 ) ] )
482585}
586+
587+ pub fn get_nft (
588+ _data_provider : & mut DataProvider ,
589+ _inst : & mut Instance ,
590+ _caller : & mut CallingFrame ,
591+ _inputs : Vec < WasmValue > ,
592+ ) -> Result < Vec < WasmValue > , CoreError > {
593+ let owner_ptr: i32 = _inputs[ 0 ] . to_i32 ( ) ;
594+ let owner_len: i32 = _inputs[ 1 ] . to_i32 ( ) ;
595+ let nft_id_ptr: i32 = _inputs[ 2 ] . to_i32 ( ) ;
596+ let nft_id_len: i32 = _inputs[ 3 ] . to_i32 ( ) ;
597+ let out_buf_ptr: i32 = _inputs[ 4 ] . to_i32 ( ) ;
598+ let out_buf_cap: i32 = _inputs[ 5 ] . to_i32 ( ) ;
599+
600+ let owner_id = get_data ( owner_ptr, owner_len, _caller) ?;
601+ let nft_id = get_data ( nft_id_ptr, nft_id_len, _caller) ?;
602+ let dp_res = _data_provider. get_nft_uri ( & nft_id, & owner_id, out_buf_cap as usize ) ;
603+ set_data ( dp_res. 0 , out_buf_ptr, dp_res. 1 , _caller) ?;
604+ Ok ( vec ! [ WasmValue :: from_i32( dp_res. 0 ) ] )
605+ }
0 commit comments