UNPKG

@safik/fk-plug-controller

Version:

Internet Computer Plug wallet's controller

94 lines (93 loc) 3.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = void 0; /* eslint-disable camelcase */ /* eslint-disable @typescript-eslint/camelcase */ exports.default = ({ IDL }) => { const TxReceipt = IDL.Variant({ ok: IDL.Nat, err: IDL.Variant({ InsufficientAllowance: IDL.Null, InsufficientBalance: IDL.Null, }), }); const Metadata = IDL.Record({ fee: IDL.Nat, decimals: IDL.Nat8, owner: IDL.Principal, logo: IDL.Text, name: IDL.Text, totalSupply: IDL.Nat, symbol: IDL.Text, }); const Time = IDL.Int; const TokenInfo = IDL.Record({ holderNumber: IDL.Nat, deployTime: Time, metadata: Metadata, historySize: IDL.Nat, cycles: IDL.Nat, feeTo: IDL.Principal, }); const Operation = IDL.Variant({ transferFrom: IDL.Null, mint: IDL.Null, approve: IDL.Null, transfer: IDL.Null, }); const TransactionStatus = IDL.Variant({ inprogress: IDL.Null, failed: IDL.Null, succeeded: IDL.Null, }); const TxRecord = IDL.Record({ op: Operation, to: IDL.Principal, fee: IDL.Nat, status: TransactionStatus, from: IDL.Principal, timestamp: Time, caller: IDL.Opt(IDL.Principal), index: IDL.Nat, amount: IDL.Nat, }); const Token = IDL.Service({ allowance: IDL.Func([IDL.Principal, IDL.Principal], [IDL.Nat], ['query']), approve: IDL.Func([IDL.Principal, IDL.Nat], [TxReceipt], []), balanceOf: IDL.Func([IDL.Principal], [IDL.Nat], ['query']), decimals: IDL.Func([], [IDL.Nat8], ['query']), getAllowanceSize: IDL.Func([], [IDL.Nat], ['query']), getHolders: IDL.Func([IDL.Nat, IDL.Nat], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Nat))], ['query']), getMetadata: IDL.Func([], [Metadata], ['query']), getTokenInfo: IDL.Func([], [TokenInfo], ['query']), getTransaction: IDL.Func([IDL.Nat], [TxRecord], ['query']), getTransactions: IDL.Func([IDL.Nat, IDL.Nat], [IDL.Vec(TxRecord)], ['query']), getUserApprovals: IDL.Func([IDL.Principal], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Nat))], ['query']), getUserTransactionAmount: IDL.Func([IDL.Principal], [IDL.Nat], ['query']), getUserTransactions: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [IDL.Vec(TxRecord)], ['query']), historySize: IDL.Func([], [IDL.Nat], ['query']), logo: IDL.Func([], [IDL.Text], ['query']), name: IDL.Func([], [IDL.Text], ['query']), setFee: IDL.Func([IDL.Nat], [], ['oneway']), setFeeTo: IDL.Func([IDL.Principal], [], ['oneway']), setLogo: IDL.Func([IDL.Text], [], ['oneway']), setOwner: IDL.Func([IDL.Principal], [], ['oneway']), symbol: IDL.Func([], [IDL.Text], ['query']), totalSupply: IDL.Func([], [IDL.Nat], ['query']), transfer: IDL.Func([IDL.Principal, IDL.Nat], [TxReceipt], []), transferFrom: IDL.Func([IDL.Principal, IDL.Principal, IDL.Nat], [TxReceipt], []), }); return Token; }; const init = ({ IDL }) => { return [ IDL.Text, IDL.Text, IDL.Text, IDL.Nat8, IDL.Nat, IDL.Principal, IDL.Nat, ]; }; exports.init = init;