wowok
Version:
Wowok Blockchain TypeScript API
1 lines • 15.3 kB
JavaScript
import{bcs}from'../bcs/index.js';import{W_ERROR,WErrors}from'./exception.js';import{LocalMark}from'./local/local.js';export var ValueType;(function(a){a[a['Bool']=0x0]='Bool',a[a['Address']=0x1]='Address',a[a['String']=0x2]='String',a[a['U8']=0x3]='U8',a[a['U16']=0x4]='U16',a[a['U32']=0x5]='U32',a[a['U64']=0x6]='U64',a[a['U128']=0x7]='U128',a[a['U256']=0x8]='U256',a[a['VecBool']=0x9]='VecBool',a[a['VecAddress']=0xa]='VecAddress',a[a['VecString']=0xb]='VecString',a[a['VecU8']=0xc]='VecU8',a[a['VecU16']=0xd]='VecU16',a[a['VecU32']=0xe]='VecU32',a[a['VecU64']=0xf]='VecU64',a[a['VecU128']=0x10]='VecU128',a[a['VecU256']=0x11]='VecU256',a[a['VecVecU8']=0x12]='VecVecU8',a[a['Value']=0x13]='Value';}(ValueType||(ValueType={})));export const createValueContainer=(a,b)=>{return{'valueType':a,'value':b};};export const parseValueType=a=>{if(typeof a==='number'){if(a>=0x0&&a<=0x13)return a;throw new Error('Invalid\x20ValueType\x20number:\x20'+a+'.\x20Valid\x20range:\x200-19');}const b=Object['keys'](ValueType)['filter'](e=>isNaN(Number(e))),c=a['toLowerCase'](),d=b['find'](e=>e['toLowerCase']()===c);if(d===undefined)throw new Error('Invalid\x20ValueType\x20string:\x20\x22'+a+'\x22.\x20Valid\x20values:\x20'+b['join'](',\x20'));return ValueType[d];};export const valueTypeToString=a=>{return ValueType[a];};export const isValidValueTypeInput=a=>{if(typeof a==='number')return a>=0x0&&a<=0x13;if(typeof a==='string'){const b=a['toUpperCase'](),c=ValueType[b];return typeof c==='number';}return![];};export var OperatorType;(function(a){a[a['TypeQuery']=0x28]='TypeQuery',a[a['TypeNumberAdd']=0xc8]='TypeNumberAdd',a[a['TypeNumberSubtract']=0xc9]='TypeNumberSubtract',a[a['TypeNumberMultiply']=0xca]='TypeNumberMultiply',a[a['TypeNumberDivide']=0xcb]='TypeNumberDivide',a[a['TypeNumberMod']=0xcc]='TypeNumberMod',a[a['TypeNumberAddress']=0xcd]='TypeNumberAddress',a[a['TypeNumberString']=0xce]='TypeNumberString',a[a['TypeAddressNumber']=0xcf]='TypeAddressNumber',a[a['TypeStringNumber']=0xd0]='TypeStringNumber',a[a['TypeSafeU8']=0xdc]='TypeSafeU8',a[a['TypeSafeU16']=0xdd]='TypeSafeU16',a[a['TypeSafeU32']=0xde]='TypeSafeU32',a[a['TypeSafeU64']=0xdf]='TypeSafeU64',a[a['TypeSafeU128']=0xe0]='TypeSafeU128',a[a['TypeSafeU256']=0xe1]='TypeSafeU256',a[a['TypeStringLength']=0x3d]='TypeStringLength',a[a['TypeStringIndexof']=0x3e]='TypeStringIndexof',a[a['TypeStringNocaseIndexof']=0x3f]='TypeStringNocaseIndexof',a[a['TypeStringContains']=0x40]='TypeStringContains',a[a['TypeStringNocaseContains']=0x41]='TypeStringNocaseContains',a[a['TypeStringNocaseEqual']=0x42]='TypeStringNocaseEqual',a[a['TypedValueType']=0x46]='TypedValueType',a[a['TypedValueVecLength']=0x47]='TypedValueVecLength',a[a['TypedValueVecContains_Bool']=0x48]='TypedValueVecContains_Bool',a[a['TypedValueVecContains_Address']=0x49]='TypedValueVecContains_Address',a[a['TypedValueVecContains_String']=0x4a]='TypedValueVecContains_String',a[a['TypedValueVecContains_StringNoCase']=0x4b]='TypedValueVecContains_StringNoCase',a[a['TypedValueVecContains_Number']=0x4c]='TypedValueVecContains_Number',a[a['TypedValueVecContains_U8']=0x52]='TypedValueVecContains_U8',a[a['TypedValueVecContains_U16']=0x53]='TypedValueVecContains_U16',a[a['TypedValueVecContains_U32']=0x54]='TypedValueVecContains_U32',a[a['TypedValueVecContains_U64']=0x55]='TypedValueVecContains_U64',a[a['TypedValueVecContains_U128']=0x56]='TypedValueVecContains_U128',a[a['TypedValueVecContains_U256']=0x57]='TypedValueVecContains_U256',a[a['TypedValueVecIndexOf_Bool']=0x4d]='TypedValueVecIndexOf_Bool',a[a['TypedValueVecIndexOf_Address']=0x4e]='TypedValueVecIndexOf_Address',a[a['TypedValueVecIndexOf_String']=0x4f]='TypedValueVecIndexOf_String',a[a['TypedValueVecIndexOf_StringNoCase']=0x50]='TypedValueVecIndexOf_StringNoCase',a[a['TypedValueVecIndexOf_Number']=0x51]='TypedValueVecIndexOf_Number',a[a['TypeLogicEqual']=0x5a]='TypeLogicEqual',a[a['TypeLogicAsU256Greater']=0x5b]='TypeLogicAsU256Greater',a[a['TypeLogicAsU256GreaterEqual']=0x5c]='TypeLogicAsU256GreaterEqual',a[a['TypeLogicAsU256Lesser']=0x5d]='TypeLogicAsU256Lesser',a[a['TypeLogicAsU256LesserEqual']=0x5e]='TypeLogicAsU256LesserEqual',a[a['TypeLogicAsU256Equal']=0x5f]='TypeLogicAsU256Equal',a[a['TypeLogicAnd']=0x60]='TypeLogicAnd',a[a['TypeLogicOr']=0x61]='TypeLogicOr',a[a['TypeLogicNot']=0x62]='TypeLogicNot';}(OperatorType||(OperatorType={})));export var WitnessType;(function(a){a[a['TypeOrderProgress']=0x64]='TypeOrderProgress',a[a['TypeOrderMachine']=0x65]='TypeOrderMachine',a[a['TypeOrderService']=0x66]='TypeOrderService',a[a['TypeProgressMachine']=0x67]='TypeProgressMachine',a[a['TypeArbOrder']=0x68]='TypeArbOrder',a[a['TypeArbArbitration']=0x69]='TypeArbArbitration',a[a['TypeArbProgress']=0x6a]='TypeArbProgress',a[a['TypeArbMachine']=0x6b]='TypeArbMachine',a[a['TypeArbService']=0x6c]='TypeArbService';}(WitnessType||(WitnessType={})));export const isWitnessType=a=>{return a!=null&&a>=WitnessType['TypeOrderProgress']&&a<=WitnessType['TypeArbService'];};export var ContextType;(function(a){a[a['TypeSigner']=0x2d]='TypeSigner',a[a['TypeClock']=0x2e]='TypeClock',a[a['TypeGuard']=0x2f]='TypeGuard',a[a['TypeConstant']=0x30]='TypeConstant';}(ContextType||(ContextType={})));export var Modules;(function(a){a['Machine']='machine',a['Progress']='progress',a['Repository']='repository',a['Permission']='permission',a['Passport']='passport',a['Guard']='guard',a['Demand']='demand',a['Order']='order',a['Service']='service',a['Resource']='resource',a['Entity']='entity',a['Wowok']='wowok',a['Treasury']='treasury',a['Payment']='payment',a['Arbitration']='arbitration',a['Arb']='arb',a['Allocation']='allocation';}(Modules||(Modules={})));export const PackageAddress='0x2';export const GasTokenType='0x2::wow::WOW';export const GasCoinType='0x2::coin::Coin<0x2::wow::WOW>';export const RegistrarAddress='0xaaa';export const EntityAddress='0xaab';export const MAX_ENV_PERMISSION_GUARD_COUNT=0x4;export const isGasTokenType=a=>{return a===GasTokenType;};export const isValidValueType=a=>{return a>=ValueType['Bool']&&a<=ValueType['Value'];};export const isThisPackage=a=>{return a['startsWith']('0x2::');};export const isValidArray=(a,b)=>{if(!Array['isArray'](a))return![];return a['every'](c=>b(c));};export const isValidU8=a=>{if(typeof a==='string'){const b=parseInt(a,0xa);return!isNaN(b)&&Number['isInteger'](b)&&b>=0x0&&b<=0xff;}if(typeof a==='bigint')return a>=0x0n&&a<=0xffn;return Number['isInteger'](a)&&a>=0x0&&a<=0xff;};export const isValidU16=a=>{if(typeof a==='string'){const b=parseInt(a,0xa);return!isNaN(b)&&Number['isInteger'](b)&&b>=0x0&&b<=0xffff;}if(typeof a==='bigint')return a>=0x0n&&a<=0xffffn;return Number['isInteger'](a)&&a>=0x0&&a<=0xffff;};export const isValidU64=a=>{if(typeof a==='string'){if(a['length']>0xf)try{const b=BigInt(a);return b>=0x0n&&b<=0xffffffffffffffffn;}catch{return![];}else{const c=parseInt(a,0xa);return!isNaN(c)&&Number['isInteger'](c)&&c>=0x0&&c<=Number['MAX_SAFE_INTEGER'];}}if(typeof a==='bigint')return a>=0x0n&&a<=0xffffffffffffffffn;return Number['isInteger'](a)&&a>=0x0&&a<=Number['MAX_SAFE_INTEGER'];};export const isValidU128=a=>{if(typeof a==='string')try{const b=BigInt(a);return b>=0x0n&&b<=0xffffffffffffffffffffffffffffffffn;}catch{return![];}if(typeof a==='bigint')return a>=0x0n&&a<=0xffffffffffffffffffffffffffffffffn;return Number['isInteger'](a)&&a>=0x0&&a<=Number['MAX_SAFE_INTEGER'];};export const isValidU256=a=>{if(typeof a==='string')try{const b=BigInt(a);return b>=0x0n&&b<=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn;}catch{return![];}if(typeof a==='bigint')return a>=0x0n&&a<=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn;return Number['isInteger'](a)&&a>=0x0&&a<=Number['MAX_SAFE_INTEGER'];};export const isValidU32=a=>{if(typeof a==='string'){const b=parseInt(a,0xa);return!isNaN(b)&&Number['isInteger'](b)&&b>=0x0&&b<=0xffffffff;}if(typeof a==='bigint')return a>=0x0n&&a<=0xffffffffn;return Number['isInteger'](a)&&a>=0x0&&a<=0xffffffff;};export const IsBcsStringLength=(a,b)=>{return bcs['string']()['serialize'](a)['toBytes']()['length']<=b;};export const MAX_DESCRIPTION_LENGTH=0xfa0;export const MAX_NAME_LENGTH=0x40;export const MAX_LONG_NAME_LENGTH=0x100;export const MAX_GUARD_TABLE_ITEM_LENGTH=0x100;export const MAX_INPUT_SIZE=0x400;export const MAX_TABLE_SIZE=0x9c40;export const MAX_DEPENDED_COUNT=0x4;export const MAX_MULTI_OPERANDS=0x8;export const isValidDescription=a=>{return IsBcsStringLength(a,MAX_DESCRIPTION_LENGTH);};export const isValidName=a=>{return IsBcsStringLength(a,MAX_NAME_LENGTH)&&!a['toLowerCase']()['startsWith']('0x');};export const isValidLongName=a=>{return IsBcsStringLength(a,MAX_LONG_NAME_LENGTH);};export const isValidHttpUrl=a=>{try{const b=new URL(a);return b['protocol']==='http:'||b['protocol']==='https:'||b['protocol']==='ipfs:';}catch(c){return![];}};export const isValueTypeNumber=a=>{return a===ValueType['U8']||a===ValueType['U16']||a===ValueType['U32']||a===ValueType['U64']||a===ValueType['U128']||a===ValueType['U256'];};export const toTxObject=(a,b)=>{if(typeof b==='string')return a['object'](b);return b;};export const toTxString=(a,b)=>{if(b===undefined||b===null)return a['pure']['string']('');if(typeof b==='string')return a['pure']['string'](b);return b;};export const toTxU8=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU8(b)&&W_ERROR(WErrors['IsValidU8'],'Invalid\x20U8\x20value:\x20'+b),a['pure']['u8'](Number(b));return b;};export const toTxU16=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU16(b)&&W_ERROR(WErrors['IsValidU16'],'Invalid\x20U16\x20value:\x20'+b),a['pure']['u16'](Number(b));return b;};export const toTxU32=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU32(b)&&W_ERROR(WErrors['IsValidU32'],'Invalid\x20U32\x20value:\x20'+b),a['pure']['u32'](Number(b));return b;};export const toTxU128=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU128(b)&&W_ERROR(WErrors['IsValidU128'],'Invalid\x20U128\x20value:\x20'+b),a['pure']['u128'](b);return b;};export const toTxU256=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU256(b)&&W_ERROR(WErrors['IsValidU256'],'Invalid\x20U256\x20value:\x20'+b),a['pure']['u256'](b);return b;};export const toTxU64=(a,b)=>{if(typeof b==='string'||typeof b==='number'||typeof b==='bigint')return!isValidU64(b)&&W_ERROR(WErrors['IsValidU64'],'Invalid\x20U64\x20value:\x20'+b),a['pure']['u64'](b);return b;};export const toTxAddress=(a,b)=>{if(typeof b==='string')return a['pure']['address'](b);return b;};export const toTxAddressVec=(a,b,c)=>{if(Array['isArray'](b))return b['length']>c&&W_ERROR(WErrors['AddressCountExceeded'],'Invalid\x20AddressVec\x20length:\x20'+b['length']),a['pure']['vector']('address',b);return b;};export const toTxU16Vec=(a,b,c)=>{if(Array['isArray'](b))return b['length']>c&&W_ERROR(WErrors['NumberCountExceeded'],'Invalid\x20U16Vec\x20length:\x20'+b['length']),a['pure']['vector']('u16',b['map'](d=>{return!isValidU16(d)&&W_ERROR(WErrors['IsValidU16'],'Invalid\x20U16\x20value:\x20'+d),Number(d);}));return b;};export const object_name_from_type=a=>{if(!a)return undefined;let b=a['indexOf']('::');if(b>0x0&&a['slice'](0x0,b)==='0x2'){b=a['indexOf']('<');b>0x0&&(a=a['slice'](0x0,b));const c=a['lastIndexOf']('::');if(c>0x0)return a['slice'](c+0x2);}return undefined;};export const object_module_and_name_from_type=a=>{if(!a)return undefined;let b=a['indexOf']('::');if(b>0x0&&a['slice'](0x0,b)==='0x2'){b=a['indexOf']('<');b>0x0&&(a=a['slice'](0x0,b));const c=a['lastIndexOf']('::');if(c>0x0){const d=a['slice'](b+0x2,c),e=a['slice'](c+0x2);return{'module':d,'name':e};}}return undefined;};function isTypeNamedObjectWithPermission(a){return a!=null&&typeof a==='object'&&'type_parameter'in a&&typeof a['type_parameter']==='string';}function isNamedObjectWithPermission(a){return a!=null&&typeof a==='object'&&'permission'in a;}function isNamedObject(a){return a!=null&&typeof a==='object';}function isNamedObjectWithDescription(a){return a!=null&&typeof a==='object'&&'description'in a;}function isTypeNamedObjectWithDescription(a){return a!=null&&typeof a==='object'&&'type_parameter'in a&&typeof a['type_parameter']==='string';}export const GetObjectExisted=async a=>{if(typeof a==='string')return await LocalMark['Instance']()['get_address'](a);return undefined;};export const GetObjectDescription=a=>{return isNamedObjectWithDescription(a)?a['description']:undefined;};export const GetObject=a=>{if(isTypeNamedObjectWithPermission(a))return a;else{if(isTypeNamedObjectWithDescription(a))return a;else{if(isNamedObjectWithPermission(a))return a;else{if(isNamedObject(a))return a;}}}return undefined;};export const MAX_PERMISSION_GUARD_COUNT=0x4;export const CoinWrapPrefix=PackageAddress+'::payment::CoinWrapper';export const IsValidBalance=a=>{return isValidU64(a);};export const IsValidEndpoint=a=>{return a&&IsBcsStringLength(a,0x400);};export const IsValidArgType=a=>{if(a){const b=a['split']('::');if(b['length']>=0x3)return!![];}return![];};export var RecipientType;(function(a){a[a['GuardIdentifier']=0x0]='GuardIdentifier',a[a['Entity']=0x1]='Entity',a[a['Signer']=0x2]='Signer';}(RecipientType||(RecipientType={})));export function serviceFn(a){return PackageAddress+'::service::'+a;}export function demandFn(a){return PackageAddress+'::demand::'+a;}export function machineFn(a){return PackageAddress+'::machine::'+a;}export function contactFn(a){return PackageAddress+'::contact::'+a;}export function treasuryFn(a){return PackageAddress+'::treasury::'+a;}export function arbitrationFn(a){return PackageAddress+'::arbitration::'+a;}export function repositoryFn(a){return PackageAddress+'::repository::'+a;}export function rewardFn(a){return PackageAddress+'::reward::'+a;}export var ObjectType;(function(a){a['Permission']='Permission',a['Repository']='Repository',a['Arb']='Arb',a['Arbitration']='Arbitration',a['Service']='Service',a['Machine']='Machine',a['Order']='Order',a['Progress']='Progress',a['Payment']='Payment',a['Treasury']='Treasury',a['Guard']='Guard',a['Demand']='Demand',a['Passport']='Passport',a['Allocation']='Allocation',a['Resource']='Resource',a['Reward']='Reward',a['Discount']='Discount',a['EntityRegistrar']='EntityRegistrar',a['EntityLinker']='EntityLinker',a['Proof']='Proof',a['Contact']='Contact',a['WReceivedObject']='WReceivedObject',a['TableItem_ProgressHistory']='TableItem_ProgressHistory',a['TableItem_PermissionPerm']='TableItem_PermissionPerm',a['TableItem_DemandPresenter']='TableItem_DemandPresenter',a['TableItem_MachineNode']='TableItem_MachineNode',a['TableItem_TreasuryHistory']='TableItem_TreasuryHistory',a['TableItem_RepositoryData']='TableItem_RepositoryData',a['TableItem_RewardRecord']='TableItem_RewardRecord',a['TableItem_EntityLinker']='TableItem_EntityLinker',a['TableItem_AddressMark']='TableItem_AddressMark',a['TableItem_EntityRegistrar']='TableItem_EntityRegistrar';}(ObjectType||(ObjectType={})));export const ENTITY_LINKER_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000aaa';export const ENTITY_REGISTRAR_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000aab';