UNPKG

@funded-labs/plug-controller

Version:

Internet Computer Plug wallet's controller

61 lines (60 loc) 3.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = void 0; exports.default = ({ IDL }) => { const TxReceipt = IDL.Variant({ ok: IDL.Nat, err: IDL.Text }); const Time = IDL.Int; const RecordExt = IDL.Record({ ttl: IDL.Nat64, controller: IDL.Principal, resolver: IDL.Principal, owner: IDL.Principal, operator: IDL.Principal, name: IDL.Text, expiry: Time, id: IDL.Nat, }); const Info = IDL.Record({ memSize: IDL.Nat, heapSize: IDL.Nat, historySize: IDL.Nat, cycles: IDL.Nat, names: IDL.Nat, users: IDL.Nat, }); const ICNSRegistry = IDL.Service({ addWhitelist: IDL.Func([IDL.Text], [IDL.Bool], []), approve: IDL.Func([IDL.Text, IDL.Principal], [TxReceipt], []), balanceOf: IDL.Func([IDL.Principal], [IDL.Nat], ['query']), controller: IDL.Func([IDL.Text], [IDL.Opt(IDL.Principal)], ['query']), expiry: IDL.Func([IDL.Text], [IDL.Opt(Time)], ['query']), exportOwnerDomains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Text)))], ['query']), getApproved: IDL.Func([IDL.Text], [IDL.Opt(IDL.Principal)], ['query']), getControllerDomains: IDL.Func([IDL.Principal], [IDL.Opt(IDL.Vec(RecordExt))], ['query']), getInfo: IDL.Func([], [Info], ['query']), getRecord: IDL.Func([IDL.Text], [IDL.Opt(RecordExt)], ['query']), getUserDomains: IDL.Func([IDL.Principal], [IDL.Opt(IDL.Vec(RecordExt))], ['query']), isApproved: IDL.Func([IDL.Text, IDL.Principal], [IDL.Bool], ['query']), isApprovedForAll: IDL.Func([IDL.Principal, IDL.Principal], [IDL.Bool], ['query']), isWhitelisted: IDL.Func([IDL.Text], [IDL.Bool], []), owner: IDL.Func([IDL.Text], [IDL.Opt(IDL.Principal)], ['query']), recordExists: IDL.Func([IDL.Text], [IDL.Bool], ['query']), removeWhitelist: IDL.Func([IDL.Text], [IDL.Bool], []), resolver: IDL.Func([IDL.Text], [IDL.Opt(IDL.Principal)], ['query']), setApprovalForAll: IDL.Func([IDL.Principal, IDL.Bool], [TxReceipt], []), setController: IDL.Func([IDL.Text, IDL.Principal], [TxReceipt], []), setOwner: IDL.Func([IDL.Text, IDL.Principal], [TxReceipt], []), setRecord: IDL.Func([IDL.Text, IDL.Principal, IDL.Principal, IDL.Nat64, Time], [TxReceipt], []), setResolver: IDL.Func([IDL.Text, IDL.Principal], [TxReceipt], []), setSubnodeExpiry: IDL.Func([IDL.Text, IDL.Text, Time], [TxReceipt], []), setSubnodeOwner: IDL.Func([IDL.Text, IDL.Text, IDL.Principal], [TxReceipt], []), setSubnodeRecord: IDL.Func([IDL.Text, IDL.Text, IDL.Principal, IDL.Principal, IDL.Nat64, Time], [TxReceipt], []), setTTL: IDL.Func([IDL.Text, IDL.Nat64], [TxReceipt], []), transfer: IDL.Func([IDL.Principal, IDL.Text], [TxReceipt], []), transferFrom: IDL.Func([IDL.Principal, IDL.Principal, IDL.Text], [TxReceipt], []), ttl: IDL.Func([IDL.Text], [IDL.Opt(IDL.Nat64)], ['query']), }); return ICNSRegistry; }; const init = ({ IDL }) => [IDL.Principal, IDL.Principal]; exports.init = init;