All Downloads are FREE. Search and download functionalities are using the official Maven repository.

contracts.ft.build.jetton-discovery.fif Maven / Gradle / Ivy

There is a newer version: 0.8.0
Show newest version
"Asm.fif" include
// automatically generated from `../stdlib.fc` `params.fc` `op-codes.fc` `discovery-params.fc` `jetton-utils.fc` `jetton-discovery.fc` 
PROGRAM{
  DECLPROC force_chain
  DECLPROC is_resolvable?
  DECLPROC pack_jetton_wallet_data
  DECLPROC calculate_jetton_wallet_state_init
  DECLPROC calculate_jetton_wallet_address
  DECLPROC calculate_user_jetton_wallet_address
  DECLPROC load_data
  DECLPROC recv_internal
  force_chain PROC:<{
    //  addr
    REWRITESTDADDR	//  _8 _9
    DROP	//  wc
    0 PUSHINT	//  wc _5
    EQUAL	//  _6
    333 THROWIFNOT
  }>
  is_resolvable? PROCINLINE:<{
    //  addr
    REWRITESTDADDR	//  _6 _7
    DROP	//  wc
    0 PUSHINT	//  wc _4
    EQUAL	//  _5
  }>
  pack_jetton_wallet_data PROCINLINE:<{
    //  balance owner_address jetton_master_address jetton_wallet_code
    NEWC	//  balance owner_address jetton_master_address jetton_wallet_code _4
    s0 s4 XCHG2	//  jetton_wallet_code owner_address jetton_master_address _4 balance
    STVARUINT16	//  jetton_wallet_code owner_address jetton_master_address _5
    ROT	//  jetton_wallet_code jetton_master_address _5 owner_address
    STSLICER	//  jetton_wallet_code jetton_master_address _6
    SWAP	//  jetton_wallet_code _6 jetton_master_address
    STSLICER	//  jetton_wallet_code _7
    STREF	//  _8
    ENDC	//  _9
  }>
  calculate_jetton_wallet_state_init PROCINLINE:<{
    //  owner_address jetton_master_address jetton_wallet_code
    0 PUSHINT	//  owner_address jetton_master_address jetton_wallet_code _3=0
    s0 s1 s2 XCPUXC
    s4 s0 s3 XC2PU	//  _3=0 jetton_wallet_code _4=0 owner_address jetton_master_address jetton_wallet_code
    pack_jetton_wallet_data INLINECALLDICT	//  _3=0 jetton_wallet_code _5
    s2 PUSH	//  _3=0 jetton_wallet_code _5 _6=0
    NEWC	//  _3=0 jetton_wallet_code _5 _6=0 _7
    2 STU	//  _3=0 jetton_wallet_code _5 _9
    s1 s2 XCHG	//  _3=0 _5 jetton_wallet_code _9
    STDICT	//  _3=0 _5 _10
    STDICT	//  _3=0 _11
    1 STU	//  _13
    ENDC	//  _14
  }>
  calculate_jetton_wallet_address PROCINLINE:<{
    //  state_init
    HASHCU	//  _1
    0 PUSHINT	//  _1 _2
    4 PUSHINT	//  _1 _2 _3=4
    NEWC	//  _1 _2 _3=4 _4
    3 STU	//  _1 _2 _6
    8 STI	//  _1 _8
    256 STU	//  _10
    ENDC	//  _11
    CTOS	//  _12
  }>
  calculate_user_jetton_wallet_address PROCINLINE:<{
    //  owner_address jetton_master_address jetton_wallet_code
    calculate_jetton_wallet_state_init INLINECALLDICT	//  _3
    calculate_jetton_wallet_address INLINECALLDICT	//  _4
  }>
  load_data PROCINLINE:<{
    // 
    c4 PUSH	//  _1
    CTOS	//  ds
    LDMSGADDR	//  _3 ds
    LDREF	//  _3 _10 _9
    DROP	//  _3 _5
  }>
  recv_internal PROC:<{
    //  msg_value in_msg_full in_msg_body
    DUP	//  msg_value in_msg_full in_msg_body in_msg_body
    SEMPTY	//  msg_value in_msg_full in_msg_body _3
    IFJMP:<{	//  msg_value in_msg_full in_msg_body
      3 BLKDROP	// 
    }>	//  msg_value in_msg_full in_msg_body
    SWAP	//  msg_value in_msg_body in_msg_full
    CTOS	//  msg_value in_msg_body cs
    4 LDU	//  msg_value in_msg_body flags cs
    SWAP
    1 PUSHINT	//  msg_value in_msg_body cs flags _10=1
    AND	//  msg_value in_msg_body cs _11
    IFJMP:<{	//  msg_value in_msg_body cs
      3 BLKDROP	// 
    }>	//  msg_value in_msg_body cs
    LDMSGADDR	//  msg_value in_msg_body sender_address cs
    LDMSGADDR	//  msg_value in_msg_body sender_address _106 _105
    NIP	//  msg_value in_msg_body sender_address cs
    LDVARUINT16	//  msg_value in_msg_body sender_address _108 _107
    NIP	//  msg_value in_msg_body sender_address cs
    1 PUSHINT	//  msg_value in_msg_body sender_address cs _20=1
    SDSKIPFIRST	//  msg_value in_msg_body sender_address cs
    LDVARUINT16	//  msg_value in_msg_body sender_address _110 _109
    NIP	//  msg_value in_msg_body sender_address cs
    LDVARUINT16	//  msg_value in_msg_body sender_address _112 _111
    DROP	//  msg_value in_msg_body sender_address _25
    3 PUSHINT	//  msg_value in_msg_body sender_address _25 _27=3
    1 MULRSHIFT#	//  msg_value in_msg_body sender_address fwd_fee
    s0 s2 XCHG	//  msg_value fwd_fee sender_address in_msg_body
    32 LDU	//  msg_value fwd_fee sender_address op in_msg_body
    64 LDU	//  msg_value fwd_fee sender_address op query_id in_msg_body
    0x2c76b973 PUSHINT	//  msg_value fwd_fee sender_address op query_id in_msg_body _38
    s1 s3 XCHG	//  msg_value fwd_fee sender_address in_msg_body query_id op _38
    EQUAL	//  msg_value fwd_fee sender_address in_msg_body query_id _39
    IFJMP:<{	//  msg_value fwd_fee sender_address in_msg_body query_id
      10000000 PUSHINT	//  msg_value fwd_fee sender_address in_msg_body query_id _41
      s1 s4 XCHG	//  msg_value query_id sender_address in_msg_body fwd_fee _41
      ADD	//  msg_value query_id sender_address in_msg_body _42
      s1 s4 XCHG	//  in_msg_body query_id sender_address msg_value _42
      GREATER	//  in_msg_body query_id sender_address _43
      75 THROWIFNOT
      load_data INLINECALLDICT	//  in_msg_body query_id sender_address jetton_minter_address jetton_wallet_code
      s0 s4 XCHG	//  jetton_wallet_code query_id sender_address jetton_minter_address in_msg_body
      LDMSGADDR	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address in_msg_body
      1 LDU	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _122 _121
      DROP	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address include_address?
      IF:<{	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address
        NEWC	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _57
        OVER	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _57 owner_address
        STSLICER	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _58
        ENDC	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _56
      }>ELSE<{	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address
        PUSHNULL	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address _56
      }>	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address
      0xd1735400 PUSHINT	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address _62
      0 PUSHINT	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address _62 _63=0
      24 PUSHINT	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address _62 _63=0 _64=24
      NEWC	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address _62 _63=0 _64=24 _65
      6 STU	//  jetton_wallet_code query_id sender_address jetton_minter_address owner_address included_address _62 _63=0 _67
      s0 s6 XCHG2	//  jetton_wallet_code query_id _63=0 jetton_minter_address owner_address included_address _62 _67 sender_address
      STSLICER	//  jetton_wallet_code query_id _63=0 jetton_minter_address owner_address included_address _62 _68
      s5 PUSH	//  jetton_wallet_code query_id _63=0 jetton_minter_address owner_address included_address _62 _68 _69=0
      STVARUINT16	//  jetton_wallet_code query_id _63=0 jetton_minter_address owner_address included_address _62 _70
      s1 s5 XCHG	//  jetton_wallet_code query_id _62 jetton_minter_address owner_address included_address _63=0 _70
      107 STU	//  jetton_wallet_code query_id _62 jetton_minter_address owner_address included_address _84
      s1 s4 XCHG	//  jetton_wallet_code query_id included_address jetton_minter_address owner_address _62 _84
      32 STU	//  jetton_wallet_code query_id included_address jetton_minter_address owner_address _86
      s1 s4 XCHG	//  jetton_wallet_code owner_address included_address jetton_minter_address query_id _86
      64 STU	//  jetton_wallet_code owner_address included_address jetton_minter_address msg
      s3 PUSH	//  jetton_wallet_code owner_address included_address jetton_minter_address msg owner_address
      is_resolvable? INLINECALLDICT	//  jetton_wallet_code owner_address included_address jetton_minter_address msg _89
      IF:<{	//  jetton_wallet_code owner_address included_address jetton_minter_address msg
        s3 s1 s4 XCHG3	//  msg included_address owner_address jetton_minter_address jetton_wallet_code
        calculate_user_jetton_wallet_address INLINECALLDICT	//  msg included_address _90
        s1 s2 XCHG	//  included_address msg _90
        STSLICER	//  included_address msg
      }>ELSE<{	//  jetton_wallet_code owner_address included_address jetton_minter_address msg
        NIP
        2 2 BLKDROP2	//  included_address msg
        0 PUSHINT	//  included_address msg _92=0
        SWAP	//  included_address _92=0 msg
        2 STU	//  included_address msg
      }>
      STOPTREF	//  _95
      ENDC	//  _96
      64 PUSHINT	//  _96 _97=64
      SENDRAWMSG
    }>	//  msg_value fwd_fee sender_address in_msg_body query_id
    5 BLKDROP	// 
    16 PUSHPOW2DEC	//  _99=65535
    THROWANY
  }>
}END>c




© 2015 - 2024 Weber Informatics LLC | Privacy Policy