Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/*
* <%= spdxAndLicense // SPDX-License-Identifier: Apache-2.0 %>
*/
import { Context, Contract, Info, Returns, Transaction } from 'fabric-contract-api';
import { MyAsset } from './my-asset';
@Info({title: 'MyContract', description: '<%= description %>' })
export class MyContract extends Contract {
@Transaction(false)
@Returns('boolean')
public async assetExists(ctx: Context, assetId: string): Promise {
const buffer = await ctx.stub.getState(assetId);
return (!!buffer && buffer.length > 0);
}
@Transaction()
public async createAsset(ctx: Context, assetId: string, value: string): Promise {
const exists = await this.assetExists(ctx, assetId);
if (exists) {
throw new Error(`The asset ${assetId} already exists`);
}
const asset = new MyAsset();
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Contract, Info, Returns, Transaction } from 'fabric-contract-api';
import Greeting from './greeting';
import GreetingContext from './greetingcontext';
@Info({title: 'GreetingContract', description: 'The description'})
export class GreetingContract extends Contract {
public constructor() {
super('Greeting');
}
/**
* Define a custom context for commercial paper
*/
public createContext() {
return new GreetingContext();
}
@Transaction()
public async instantiate(ctx: GreetingContext): Promise {
const greeting = { text: 'Hi' };